БлогNot. Странный поиск решения...

Странный поиск решения...

Классическая задача оптимизации легко решается в Excel с помощью инструмента "Поиск решения", приведём пример такой задачи с единственным неизвестным параметром:

Имеетcя квадратный лист жести со стороной L. По его углам вырезаются 4 одинаковых квадрата со стороной А, затем полученная крестообразная заготовка сгибается в прямоугольную коробку без верхней крышки, а швы завариваются. Какой должна быть величина А, чтобы объем получившейся коробки V был максимальным? При решении принять L=1.

Скриншот решения с графической иллюстрацией правильности полученного ответа (для иллюстрации построим зависимость V(a) для a=0,0.05,...,0.5):

Поиск решения задачи про коробку
Поиск решения задачи про коробку

Немного изменим задачу так, чтобы заготовка стала прямоугольной, а отрезаемые части могли иметь неодинаковые размеры:

Изменяем задачу - теперь лист и отрезаемая часть могут быть прямоугольными
Изменяем задачу - теперь лист и отрезаемая часть могут быть прямоугольными

Теперь целевая функция имеет вид (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 Кб)

02.02.2012, 11:55 [12012 просмотров]


теги: ошибка математика excel

К этой статье пока нет комментариев, Ваш будет первым