В Mathcad для численного решения задач оптимизации (в том числе задач линейного программирования) предназначены встроенные функции Minimize и Maximize. Ход решения должен быть следующим:
1) прежде всего, надо определить целевую функцию;
2) задать начальные значения для независимых переменных;
3) вслед за этим записать служебное слово Given (Дано);
4) ниже записать ограничения задачи;
5) и последнее: обратиться к функции Minimize или Maximize.
Особо отметим, что слово Given всегда пишется с заглавной буквы. При записи отношений равенства, как обычно, ставится «жирный» знак равно , а в ограничениях нельзя использовать операцию сравнения ≠ (не равно).
Задача. Ваш товарищ, имеющий в своем распоряжении в течение недели 75 погонных метров досок и 276 ч рабочего времени мастеров, открыл небольшой мебельный цех. На изготовление стола требуется 2 м досок и 3 ч работы мастеров, на изготовление шкафа — 5 м досок и 21 ч работы. Необходимо составить план выпуска продукции, обеспечивающего наибольший доход, если стол можно продать за 60 тыс., а шкаф — за 240 тыс. рублей.
Изделие
Затраты на одно изделие
Доход
тыс. руб.
Доски м
Рабочее время ч
Стол
Шкаф
Ограничения
Составим математическую модель задачи. Обозначим: x –– количество столов, выпускаемых в неделю, y –– количество шкафов. Тогда можно записать:
z = 60x + 240y ® max,
x ≥ 0, y ≥ 0; x, y — целые.
Переходим к реализации этой модели в Mathcad.
Определим целевую функцию, зададим нулевые начальные значения для переменных x и y: