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

Подготовка
исходных данных. Начать нужно с занесения условий задачи на
рабочий лист. Ячейки рабочего листа, содержащие информацию о задаче, делятся на
три категории:
-
изменяемые ячейки. Они содержат независимые переменные, значения которых
определяются в результате решения задачи;
-
ячейки параметров. Они содержат неизменяемые в рамках одной модели
данные. В данном случае это коэффициенты целевой функции, матрица условий,
вектор правых частей ограничений.
-
зависимые ячейки. Эти ячейки содержат
формулы, определяющие величины, относительно которых, как правило, и
формулируется задача – ее цель и ограничения. В данном случае это значение
целевой функции и значения левых частей ограничений.
Размещаем
данные на рабочем листе, как показано на рис. 1. Ячейки А3:Е3
отведены под переменные. Ячейки А7:Е7 и А11:Е11 содержат параметры задачи – коэффициенты целевой
функции и матрицу системы ограничений. В F7 введена формула, по которой вычисляется
значение целевой функции, а в F11:F13
формулы, по которым вычисляются левые части ограничений.
Последние должны определенным образом соотносится с
вектором ограничений – ячейки G11:G13.

Рис. 1. Рабочий лист, содержащий исходные данные.
Поиск
решения. Теперь с помощью меню Сервис → Поиск решения
вызываем одноименное диалоговое окно, которое служит для формулирования задачи
и запуска алгоритма оптимизации.Для
старших версий ExcelДанные →
Анализ данных → Поиск решения. Заполняем его так, как
показано на рис 2.
В
полеУстановить целевую ячейку заносим
адрес ячейки, содержащей формулу расчета целевой функции. Устанавливаем
переключатель в положении максимизации.
В
полеИзменяя ячейки заносим диапазон
ячеек, отведенных под переменные. Вспомогательная функцияПредположить может быть использована для
автоматического поиска ячеек.

Рис. 2. Диалоговое окно, содержащее постановку задачи.
Поле
Ограничения служит для отображения списка ограничений задачи. Ему
приданы функции редактирования: Добавить, Изменить, Удалить. С помощью
этих функций указываем на неотрицательность
переменных, а также на то, что вычисляемые значения левых частей ограничений
должны быть равны значениям правых частей.
КомандойВыполнить
запускаем алгоритм. В следующий момент появляется диалоговое окно Результаты
поиска решения (Рис. 3).

Рис. 3. Сообщение об исходе оптимизации.
Рис. 4.
Рабочий лист после выполнения расчета.
На
рабочем листе в диапазоне переменных появились числа, которые в точности
соответствуют оптимальному решению задачи (Рис. 4).