MathCAD

       

Решение задачи о компьютерах с помощью функции Maximize


На рис. 6.33 приведено решение этой задачи линейного программирования с помощью встроенной Mathcad-функции Maximize[49]. Целевые функции (ЦФ) в Mathcad-документе записаны двумя способами: общее число компьютеров (ЦФ1) как функция четырех аргументов-скаляров и стоимость компьютеров (ЦФ2) как функция одного аргумента-вектора. Это позволяет решить задачу двумя способами: «скалярным» (решение 1 по числу компьютеров) и «векторным» (решение 2 по стоимости компьютеров). Второе решение удобно тем, что его методика позволяет легко корректировать задачу: ввод новых переменных и новых ограничений требует лишь внести изменения в векторы КЦФ (стоимость компьютеров) и k (ресурсы по комплектующим) и в матрицу kC (расход комплектующих). Да, вторая методика лучше, но второе решение никуда не годится: как понимать дробные решения ¾ как призыв поставлять компьютеры россыпью или не полностью укомплектованными? Если с первым решением все ясно (можно изготовить максимум 120 компьютеров; какой стоимостью и в каком раскладе ¾ мы еще об этом поговорим), то второе нужно дорабатывать: цифры плана выпуска компьютеров нужно округлять. Дело в том, что функция Maximize не умеет возвращать решение задачи целочисленного линейного программирования. Не совсем умеют ее решать и специально созданные для этих целей программы ¾ вспомним, как в среде Excel решалась задача о краске (см. главку «Как автор продавал программы» в этюде 3).

Целочисленное решение, максимизирующее число компьютеров, получилось, можно сказать, случайно. Так же «случайно» был получен целочисленный план перевозки телевизоров со вкладов в магазины и план выпуска стульев из этюда 2.

Ничего не остается делать, как прибегать к методу перебора, плюсы и минусы которого рассмотрены в этюде 3.



Содержание раздела