Pers.narod.ru. Обучение. Excel. Поиск решения в Excel и его ошибки |
Классическая задача оптимизации легко решается в Excel с помощью инструмента "Поиск решения", приведём пример такой задачи с единственным неизвестным параметром:
Имеетcя квадратный лист жести со стороной L. По его углам вырезаются 4 одинаковых квадрата со стороной А, затем полученная крестообразная заготовка сгибается в прямоугольную коробку без верхней крышки, а швы завариваются. Какой должна быть величина А, чтобы объем получившейся коробки V был максимальным? При решении принять L=1.
Скриншот решения с графической иллюстрацией правильности полученного ответа
(для иллюстрации построим зависимость V(a)
для a=0,0.05,...,0.5
):
На всякий случай покажем также окно "Поиск решения", в котором выполнялась задача (Excel XP/2003, в 2007 и выше - без отличий):
Немного изменим задачу так, чтобы заготовка стала прямоугольной, а отрезаемые части могли иметь неодинаковые размеры:
Теперь целевая функция имеет вид (W-2*LW)*(H-2*LH)*min(LW,LH) -> min
, можете согнуть вчетверо
листик бумаги A4, отрезать произвольный прямоугольный уголок и проверить :) Кстати, давайте и укажем в качестве
H
и W
размеры листа бумаги 297
и 210
мм. Ограничения также понятны - LW, LH >0
, LW <= W/2
, LH <=H/2
.
Вот эта модель на листе, вместе с графиком зависисмости объёма V
от возможных пар значений (LW,LH)
:
Вроде бы, никаких седловидных функций или чего-то подобного не наблюдается, решение должно быть единственным, как и в предыдущем случае.
Увы эта задача в Excel (хоть XP/2003, хоть 2007) нормально уже не решается - практически любую
допустимую начальную точку (LW,LH)
Excel уже считает решением:
а все встроенные отчёты показывают 0 шагов:
Лишь с некоторых начальных точек, близких с решению (например, с точки LW=50, LH=50
), находится нечто правдоподобное:
Можно предположить, что проблема - функция МИН
внутри целевой функции, "сбивающая" XLA-приложение,
решающее задачу оптимизации. Действительно, поменяв целевую функцию на
=(B1-2*B3)*(B2-2*B4)*B3то есть,
(W-2*LW)*(H-2*LH)*LW -> min
, с дополнительным
ограничением $B$4>=$B$3
(LH>=LW
), позволяющим избежать "ухода" LH
в 0
, имеем решение
с любой допустимой начальной точки:
Ну или у кого есть версии лучше - пишите :)
Скачать этот пример в Excel (64 Кб)
гостевая; E-mail |