Мир объектов Excel 2000


Задача 14 Решение системы линейных уравнений


Постановка задачи: Используя Решатель, найти решение системы линейных уравнений AX = B

Решение системы уравнений как линейных, так и нелинейных нетрудно сформулировать как оптимизационную задачу в постановке, требуемой Решателем. Пусть имеется система уравнений:

F1(X) = 0; F2(X) = 0; … Fn(X) = 0;

Для Решателя эта задача естественным образом формулируется так:

  • вектор переменных X представляет массив регулируемых ячеек;
  • функции FI(X) задают ограничения типа равенств;
  • в качестве целевой функции можно выбрать, например, Ф(X) = SUM(FI(X)). При этом можно выбирать любой критерий для целевой функции, устремляя ее к минимуму, максимуму или требуя нулевое значение для Ф(X).

В качестве примера я использовал те же данные, что и в задаче 12. Взгляните, как выглядит постановка этой задачи в окне Решателя:

Постановка задачи в окне Решателя

увеличить изображение
Рис. 2.14.  Постановка задачи в окне Решателя

А вот как выглядит решение, найденное Решателем:

Решение системы линейных уравнений, найденное Решателем

Рис. 2.15.  Решение системы линейных уравнений, найденное Решателем

Нужно понимать, что когда используется Решатель, многое зависит еще и от того, как сформулирована задача. Решатель допускает различные постановки одной и той же задачи, а также имеет ряд параметров, позволяющих управлять процессом решения. Так, при решении системы линейных уравнений можно, например, рассматривать задачу как задачу минимизации следующей функции:

Ф(X) = F12 (X) + F22 (X) + … +Fn2 (X) -> Min

При минимизации этой функции можно и не задавать ограничения. Понятно, что решение системы исходных уравнений является точкой минимума целевой функции Ф(X). На следующих рисунках показана постановка задачи и ее решение для этого варианта постановки:

Второй вариант постановки задачи

увеличить изображение
Рис. 2.16.  Второй вариант постановки задачи

Решение, найденное Решателем, во втором варианте

увеличить изображение
Рис. 2.17.  Решение, найденное Решателем, во втором варианте

Как видите, в обеих постановках Решатель успешно находит решение системы линейных уравнений. Чтобы убедиться, что "проклятие размерности" не так уж и страшно Решателю, я провел еще один эксперимент, выбрав задачу большей размерности, и стал искать решение системы из пяти линейных уравнений. На рабочем листе Excel я задал:

  • матрицу коэффициентов этой системы - myA;
  • вектор правых частей - myB;
  • вектор переменных - SolX5
  • в ячейках Myl1-Myl5 формулы, задающие соответствующие линейные уравнения. Фактически, я ввел одну формулу в ячейку myl1: {=СУММ(B30:F30*SolX5) -I30}




    Начало  Назад  Вперед