Пример на составление математической модели задачи линейного программирования
Линейное программирование
Линейное программирование – это направление математического программирования, изучающее методы решения экстремальных задач, которые характеризуются линейной зависимостью между переменными и линейным критерием. Линейное программирование состоит в нахождении экстремального значения линейной функции многих переменных при наличии линейных ограничений, связывающих эти переменные.
Необходимым условием постановки задачи линейного программирования являются ограничения на наличие ресурсов, величину спроса, производственную мощность предприятия и другие производственные факторы.
Математическая модель любой задачи линейного программирования включает в себя:
· максимум или минимум целевой функции (критерий оптимальности);
· систему ограничений в форме линейных уравнений и неравенств;
· требование неотрицательности переменных.
Фирма производит две модели А и В сборных книжных полок. Их производство ограничено наличием сырья (высококачественных досок) и временем машинной обработки. Для каждого изделия модели А требуется 3 м2 досок, а для модели В – 4 м2. Фирма может получать от своих поставщиков до 1700 м2 досок в неделю. Для каждого изделия модели А требуется 12 мин. машинного времени, а для изделия модели В – 30 мин. В неделю можно использовать 160 часов машинного времени.
Сколько изделий каждой модели следует выпускать фирме в неделю для максимальной прибыли, если каждое изделие модели А приносит 2 дол. прибыли, а каждое изделие модели В – 4 дол. прибыли?
Пусть x1 – количество выпущенных за неделю полок модели А, а x2 – количество выпущенных полок модели В. Тогда:
3x1 – количество досок, требуемых на неделю для изготовления полок модели А;
4x2 – количество досок, требуемых на неделю для изготовления полок модели В;
3x1+4x2 – количество досок, требуемых на неделю для изготовления книжных полок двух моделей, а по условию задачи это число не должно превышать 1700 м2, следовательно, получаем первое ограничение:
3x1+4x2 ≤ 1700 (1)
Найдем ограничение на использование машинного времени.
12 мин. составляют 0,2 часа, а 30 мин. – 0,5 часа, таким образом:
0,2x1 – количество времени, требуемое на неделю для обработки полок модели А;
0,5x2 – количество времени, требуемое на неделю для обработки полок модели В;
0,2x1+0,5x2 – количество времени, требуемое на неделю для обработки двух моделей, а по условию задачи это число не должно превышать 160 часов, следовательно, получаем второе ограничение:
0,2x1+0,5x2 ≤ 160 или 2x1+5x2 ≤ 1600 (2)
Кроме того, поскольку x1 и x2 выражают еженедельный объем выпускаемых изделий, то они не могут быть отрицательными, то есть:
x1 ≥ 0, x2 ≥ 0 (3)
Наша задача состоит в том, чтобы найти такие значения x1 и x2, при которых еженедельная прибыль будет максимальной. Составим выражение для еженедельной прибыли:
2x1 – еженедельная прибыль, получаемая от продажи полок модели А;
4x2 – еженедельная прибыль, получаемая от продажи полок модели В;
F = 2x1+4x2 – еженедельная прибыль, которая должна быть максимальной. Таким образом, имеем следующую математическую модель для данной задачи.
F = 2x1+4x2 → max
Полученная модель является задачей линейного программирования. Функция F – это целевая функция, она является линейной функцией своих переменных (x1 и x2). Ограничения на эти переменные (1) и (2) тоже являются линейными. Выполнено условие неотрицательности для переменных x1 и x2.
Необходимо найти значения переменных x1 и x2, при которых данная функция F принимает максимальное значение, при соблюдении ограничений, накладываемых на эти переменные.
Решения, удовлетворяющие системе ограничений и требованию неотрицательности, являются допустимыми, а решения, удовлетворяющие одновременно и требованием минимизации (максимизации) функции в целом являются оптимальными.
3.1.4. Выводы по теме
1. Линейное программирование – это направление математического программирования, изучающее методы решения экстремальных задач, которые характеризуются линейной зависимостью между переменными и линейным критерием. Линейное программирование состоит в нахождении экстремального значения линейной функции многих переменных при наличии линейных ограничений, связывающих эти переменные.
2. Математическая модель любой задачи линейного программирования включает в себя:
· максимум или минимум целевой функции (критерий оптимальности);
· систему ограничений в форме линейных уравнений и неравенств;
· требование неотрицательности переменных.
3. F=2x1+4x2 → max
Полученная модель является задачей линейного программирования. Функция F – это целевая функция, она является линейной функцией своих переменных (x1 и x2). Ограничения на эти переменные (1) и (2) тоже являются линейными. Выполнено условие неотрицательности для переменных x1 и x2.
Необходимо найти значения переменных x1 и x2, при которых данная функция F принимает максимальное значение, при соблюдении ограничений, накладываемых на эти переменные.
4. Решения, удовлетворяющие системе ограничений и требованию неотрицательности, являются допустимыми, а решения, удовлетворяющие одновременно и требованию минимизации (максимизации) функции в целом являются оптимальными.
3.1.5. Вопросы для самоконтроля
1. Дайте определение задаче линейного программирования.
2. Что такое целевая функция?
3. Почему накладывается условие неотрицательности?
4. В чем отличие допустимых решений от оптимальных?