Задача. Оптимизировать состав посевов культур методом уступок
Методом уступок определить оптимальные площади под посев сельскохозяйственных культур: рожь, пшеница и картофель. Критериями оптимизации по степени важности являются: денежные затраты (W1), масса продукции (W2), норма прибыли (W3) и трудовые затраты (W4). Исходные данные приведены в таблицах: показатели культур – таблица 1, ограничения – таблица 2, характеристики критериев – таблица 3.
Таблица 1 Показатели сельскохозяйственных культур
Показатель\Культура |
Обозначение |
Рожь |
Пшеница |
Картофель |
|
1 |
2 |
3 |
|||
1 |
Урожайность, ц/га |
U |
32 |
40 |
250 |
2 |
Трудозатраты, чел-час/га |
T |
16 |
20 |
80 |
3 |
Денежные затраты, грн/га |
D |
180 |
226 |
782 |
4 |
Норма прибыли, % |
N |
7 |
10 |
12 |
Таблица 2 Ограничения задачи
1 |
по суммарной площади, га |
1000 |
не более |
2 |
по трудозатратам, чел-час |
30000 |
не более |
3 |
по зерновым, центнер |
35000 |
не менее |
4 |
по картофелю, центнер |
30000 |
не менее |
5 |
все площади положительны |
Таблица 3 Характеристики критериев
1 |
Денежные затраты (W1) |
minimum |
уступка 20% |
2 |
Суммарная масса продукции (W2) |
minimum |
уступка 10% |
3 |
Норма прибыли (W3) |
maximum |
уступка 10% |
4 |
Трудовые затраты (W4) |
minimum |
Метод решения задачи.
Варьируемыми (искомыми) величинами задачи являются численные значения площадей, выделяемых под посевы ржи (S1), пшеницы (S2), картофеля (S3). В соответствии с методом уступок поставленная задача многоцелевой оптимизации по 4 критериям (W1, W2, W3, W4) сводится к последовательному решению 4 задач оптимизации:
1. Для приведенных ограничений решаем задачу оптимизации для критерия W1. В качестве начальных значений площадей задаем нулевые. Получаем оптимальное значение денежных затрат и увеличиваем его на 20% (уступка в сторону увеличения критерия);
2. Полученное значение денежных затрат используем как дополнительное ограничение (денежные затраты не должны превысить полученное значение). В качестве начальных значений площадей задаем, полученные при решении 1-й задачи оптимизации. Для ограничений исходной задачи и дополнительного ограничения по денежным затратам решаем задачу оптимизации для критерия W2. Получаем оптимальное значение суммарной массы продукции и увеличиваем его на 10% (уступка в сторону увеличения критерия);
3. Полученное значение суммарной массы продукции используем как дополнительное ограничение (суммарная масса не должна превысить полученное значение). В качестве начальных значений площадей задаем, полученные при решении 2-й задачи оптимизации. Для ограничений исходной задачи и дополнительных ограничений по денежным затратам и суммарной массе продукции решаем задачу оптимизации для критерия W3. Получаем оптимальное значение нормы прибыли и уменьшаем его на 10% (уступка в сторону уменьшения критерия);
4. Полученное значение нормы прибыли используем как дополнительное ограничение (норма прибыли не должна быть меньше полученного значения). В качестве начальных значений площадей задаем, полученные при решении 3-й задачи оптимизации. Для ограничений исходной задачи и дополнительных ограничений по денежным затратам, суммарной массе продукции и норме прибыли решаем задачу оптимизации для критерия W4. Получаем оптимальное значение трудовых затрат и окончательные значения площадей под посевы S1, S2, S3.
Формулы для вычислений.
Ограничения:
по площади: S1 + S2 + S3 ≤ 1000;
по трудозатратам: S1*T1 + S2*T2 + S3*T3 ≤ 30 000;
по количеству зерновых: S1*U1 + S2*U2 ≥ 32 000;
по количеству картофеля: S3*U3 ≥ 40 000;
по значению: S1 ≥ 0, S2 ≥ 0, S3 ≥ 0.
Критерии:
денежные затраты: W1 = S1*D1 + S2*D2 +S3*D3;
суммарная масса продукции: W2 = S1*U1 + S2*U2 + S3*U3;
норма прибыли: W3 = (S1*N1 + S2*N2 +S3*N3)/(S1+ S2 + S3);
трудовые затраты: W4 = S1*T1 + S2*T2 + S3*T3.
Решение задачи в Microsoft Excel.
1. Решаем первую задачу оптимизации.
Решение выполняем на Листе, имя которому даем «Минимум_затрат».
Исходные данные и ограничения заносим в таблицы (см. рис.1). Для функции цели составляем формулу (в ячейке С21 на рис.1).
Начальные значения искомых площадей задаем равные 0 в ячейки С10, D10, E10.
В таблицу ограничений в ячейки D14 – D17 заносим численные значения ограничений по условию задачи. В ячейки С14 – С17 заносим формулы для ограничений:
=C10+D10+E10 для ячейки С14;
=C10*C7+D10*D7+E10*E7 для ячейки С15;
=C10*C6+D10*D6 для ячейки С16;
=E10*E6 для ячейки С17.
В ячейку С21 заносим формулу вычисления денежных затрат:
=C10*C8+D10*D8+E10*E8.
В ячейку D21 заносим значение уступки по денежным затратам в процентах. В ячейку Е21 заносим формулу для денежных затрат с уступкой: =C21*(100+D21)/100.
Формулы позволят построить выражения для ограничений в надстройке «Поиск решения».
Для решения задачи оптимизации командой «Сервис → поиск решения» вызываем надстройку «Поиск решения» (см. рис.2).
В поля формы «Поиск решения» указываем ссылки на ячейки Листа.
Установить целевую: ячейка С21 (содержащая выражение для целевой функции – денежных затрат).
Равной: минимальному значению (функция цели стремится к минимуму по условию задачи).
Изменяя ячейки: С10:Е10 (содержат значения искомых площадей).
Ограничения: используя ссылки на ячейки таблицы «Ограничения» (см. рис.1), строим систему неравенств-ограничений. Для создания нового ограничения выполняем команду «Добавить», нажимая одноименную кнопку формы. Например, чтобы создать ограничение по суммарной площади, нажимаем кнопку «Добавить». В появившуюся экранную форму «Добавить ограничение» указываем в поле ввода слева ссылку на ячейку С14. Затем в выпадающем списке по центру выбираем знак <= (меньше или равно), в поле справа указываем ссылку на ячейку D14, содержащую предельное значение для суммарной площади посевов. Для добавления следующего ограничения в экранной форме «Добавить ограничение» нажимаем кнопку «Добавить».
Рис.1. Исходные данные 1-й задачи оптимизации.
Рис.2. Форма надстройки «Поиск решения»
В соответствии с видом выражений для функций цели и ограничений задача оптимизации площадей посевов является задачей линейного программирования. Поэтому в форме «Поиск решения» нажимаем на кнопку «Параметры» и в экранной форме «Параметры» указываем вид задачи – «линейная». Здесь же указываем, что варьируемые величины имеют «неотрицательные значения». Закрываем форму «Параметры», а в форме «Поиск решения» нажимаем кнопку «Выполнить». Надстройка выполнит решение задачи оптимизации, в результате которого в ячейку С21 будет выведено наименьшее из всех возможных значение денежных затрат, а в ячейки С10, D10, Е10 – численные значения площадей, которые обеспечат эти затраты. В ячейки С14 – С17 будут выведены фактические значения для всех указанных ограничений, соответствующие полученным значениям площадей под посевы. Результат решения задачи приведен на рис.3.
В ячейке Е21 – значение денежных затрат с уступкой 20%. Уступка позволяет создать множество для ОДР (области допустимых решений) и тем самым решить следующую задачу оптимизации по критерию суммарной массы продукции.
Рис.3. Решение 1-й задачи оптимизации.
2. Решаем вторую задачу оптимизации.
Решение второй задачи оптимизации выполняем на новом Листе с именем «Минимум_массы». Это дает возможность сохранить настройки программы «Поиск решения» для 1-й задачи оптимизации, а при решении 2-й задачи оптимизации ссылаться на значения, полученные в 1-й задаче.
Таблицу исходных данных и таблицу ограничений копируем с Листа «Минимум_затрат».
Начальные значения искомых площадей задаем равными результирующим для 1-й задачи оптимизации в ячейки С10, D10, E10.
В таблицу ограничений добавляем строку с ограничением по затратам (см. рис.4).
В ячейку С19 заносим формулу для вычисления денежных затрат:
=C10*C8+D10*D8+E10*E8.
В ячейку D19 заносим формулу-ссылку на значение денежных затрат с уступкой на Листе «Минимум_затрат»:
=Минимум_затрат! E21.
Для функции цели составляем формулу (в ячейке С22 на рис.4):
=C10*C6+D10*D6+E10*E6.
В ячейку D22 заносим значение уступки по массе в процентах. В ячейку Е22 заносим формулу для массы с уступкой: =C22*(100+D22)/100.
Рис.4. Исходные данные 2-й задачи оптимизации.
Для решения задачи оптимизации командой «Сервис → поиск решения» вызываем надстройку «Поиск решения».
В поля формы «Поиск решения» указываем ссылки на ячейки Листа.
Установить целевую: ячейка С22 (содержащая выражение для целевой функции – масса продукции).
Равной: минимальному значению (функция цели стремится к минимуму по условию задачи).
Изменяя ячейки: С10:Е10 (содержат значения искомых площадей).
Ограничения: аналогично 1-й задаче оптимизации, используя ссылки на ячейки таблицы «Ограничения», строим систему неравенств-ограничений (см. рис.5).
Рис.5. Форма надстройки «Поиск решения» для 2-й задачи оптимизации.
Результат решения задачи приведен на рис.6.