
4. Алгоритм поиска оптимального решения
В настоящее время существует несколько компьютерных программ, причем весьма распространенных, позволяющих найти оптимальное решение подобной задачи. В частности, решение может быть получено путем использования программы EXCEL. В этом случае нахождение оптимального решения включает следующие этапы:
1. Построение математической модели.
2. Занесение исходной цифровой информации в электронные таблицы ЕXCEL.
3. Выделение ячеек электронной таблицы для неизвестных величин.
4. Отведение ячейки электронной таблицы для целевой функции, в которой и будет получено минимальное значение топливных затрат или экстремум какого-либо другого выбранного критерия.
5. Введение формулы целевой функции в отведенную для нее ячейку.
6. Отведение ячеек для левых частей всех ограничивающих условий согласно принятой математической модели и введение формул, их описывающих.
7. Расчет правых частей некоторых ограничений – это, чаще всего, цифровой материал таблиц исходной информации. Отведение ячеек для рассчитанного материала.
8. Оптимизация:
ЕXCEL/ Сервис/ Поиск решения;
установить целевую ячейку;
установить целевую ячейку равной, (для задач оптимизации топливного баланса – скорее всего) минимальному значению;
изменяя ячейки (здесь должны быть указаны ячейки, отведенные для неизвестных величин);
ограничения;
параметры (линейная модель или нет). В последнем случае поиск решения более продолжителен, но может быть более точен: перебираются значения неизвестных не только в первой степени, но и при других степенях; ОК;
выполнить;
указать форму отчета (например, только результаты, что, как правило, вполне достаточно).
Рассмотрим для уяснения общего принципа оптимизации с помощью программы EXCEL условный пример при минимуме неизвестных величин и при сильном упрощении рассмотренной выше модели оптимизации топливного баланса.
Пусть в энергогенерирующей компании 4 электростанции и три вида месторождений топлива. Электростанции отпускают лишь один вид продукта – электроэнергию. Задачу будем решать на минимум суммарных по энергогенерирующей компании топливных затрат. Учитываемые ограничения: 1) на объемы потребления топлива каждого месторождения; 2) на соблюдение баланса электроэнергии по энергогенерирующей компании; 3) на предельные объемы выработки электроэнергии каждой электростанцией; 4) на недопустимость использования электростанцией более двух видов основного топлива. Точнее - недопустимость мелких порций топлива на одной электростанции. Пусть T = 2.
Этапы оптимизации:
1. Математическая модель данного условного примера.
Неизвестные: объемы выработки электроэнергии каждой w -электростанцией на j -топливе: ЭWJ, при w = 1,2,3,4; при j = 1,2,3.
Целевая функция:
Группы ограничений:
1)
при j
= 1,2,3;
2)
;
3)
при w
= 1,2,3,4;
4)
при w
= 1,2,3,4; при
j
= 1,2,3
или (второй вариант ограничений):
,
при w
= 1,2,3,4.
Минимальную долю выработки электроэнергии на одном виде топлива принять последовательно 0,1; 0,2; 0,3; 0,4 и дать анализ.
Условия не отрицательности неизвестных:
при
w
= 1,2,3,4; при j=
1,2,3.
2. Исходную цифровую информацию следует занести в электронную таблицу EXCEL. Например, так, как это сделано на рис. 1.
3. Подготовка к оптимизации. Подготовка заключается,
во-первых, в отведении ячеек электронной таблицы под неизвестные, целевую функцию, левые части всех ограничений;
во-вторых, в создании формул, описывающих целевую функцию, левые части ограничений;
в-третьих, во введении этих формул в выделенные ячейки (процесс идет одновременно с созданием формул);
в-четвертых, в расчете правых частей некоторых ограничений и также отведении для них ячеек.
Для рассматриваемого примера (см. рис. 1):
а) формула целевой функции:
{=СУММПРОИЗВ(B6:E6;B14:E14)*F6+
+СУММПРОИЗВ(B7:E7;15:E15)*F7+
+СУММПРОИЗВ(B8:E8;B16:E16)*F8}.
Формулу вводим в отведенную ячейку G17.
Фигурные скобки здесь и далее означают, что операция перемножения будет производиться над выделенными ячейками как над матрицами.
Всем, наверное, известно, что знак равенства в EXCEL, если он первым вводится в какую-либо ячейку электронных таблиц, - знак начала ввода формулы;
б) формула левой части первой группы ограничений:
для первого вида топлива:
{=СУММПРОИЗВ(B6:E6;B14:E14)}.
Формулу вводим в отведенную ячейку F14 (см. рис. 1);
для второго и третьего видов топлива формулы аналогичны.
Поэтому для ускорения формулу для первого вида топлива «протаскиваем» на ячейки F15 и F16;
в) формула левой части второй группы ограничений:
=СУММ(B14:E16).
Формулу вводим в отведенную для этой цели ячейку, например, G10;
г) формула левой части третьей группы ограничений:
для первой электростанции:
=СУММ(B14:В16).
Формулу вводим в отведенную ячейку - B17 (см. рис. 1);
для остальных электростанций формулы аналогичны.
Поэтому для ускорения формулу для первой станции опять же «протаскиваем» на ячейки C17, D17 и E17;
д) формула для левой части четвертой группы ограничений (ПЕРВЫЙ ВАРИАНТ):
для первой электростанции и первого вида топлива:
{=СУММПРОИЗВ(B6:B8;B14:B16)}/ B6*В14.
Формулу вводим в отведенную ячейку В25 матрицы подобных отношений (матрицы B25:E28);
для этой же электростанции и остальных видов топлива формулу «протаскиваем».
Формулы для остальных станций – аналогичны.
Рис. 1. Алгоритм подготовки к оптимизации топливного баланса
с помощью программы EXCEL (условный пример)
ВТОРОЙ ВАРИАНТ ограничений четвертой группы:
Введения формул необходимости нет.
4. Оптимизация. В соответствии с программой EXCEL/ Cервис/ Поиск решения:
устанавливаем целевую ячейку G17;
устанавливаем целевую ячейку, равной минимальному значению;
указываем: какие при этом изменяя ячейки – В14:Е16;
указываем все ограничения:
первой группы:
F14:F16
G6:G8,
второй группы:
G10 = G9 или G10 = 1250,
третьей группы:
В17:Е17 В9:Е9,
четвертой группы ПЕРВЫЙ ВАРИАНТ:
В25:Е28 3,