Задачи дробно-линейного программирования

Общая задача дробно-линейного программирования состоит в определении максимального (минимального) значения функции

Задачи дробно-линейного программирования - student2.ru

при условиях

Задачи дробно-линейного программирования - student2.ru

где cj, dj, bi и aij– постоянные числа, Задачи дробно-линейного программирования - student2.ru в области неотрицательных решений системы линейных уравнений, задающих ограничения. Предположение, что Задачи дробно-линейного программирования - student2.ru не нарушает общности задачи, поскольку в том случае, когда эта величина отрицательна, минус можно отнести к числителю.

Сформулированная задача может быть сведена к задаче линейного программирования. Для этого следует обозначить

Задачи дробно-линейного программирования - student2.ru

и ввести новые переменные

Задачи дробно-линейного программирования - student2.ru .

Используя введенные обозначения, исходную задачу сведем к следующей - найти максимум (минимум) функции

Задачи дробно-линейного программирования - student2.ru

при условиях

Задачи дробно-линейного программирования - student2.ru

Построенная задача является задачей линейного программирования, следовательно, ее решение можно найти известными методами. Зная оптимальный план этой задачи, на основе соотношений Задачи дробно-линейного программирования - student2.ru , получаем оптимальный план исходной задачи.

Пример . Для производства двух видов изделий A и В используются два типа технологического оборудования. Первое изделие проходит обработку только на втором типе оборудования, второе - на первом и на втором. Время обработки каждого из изделий на оборудовании данного типа приведено в табл. 9. Там же указаны затраты, связанные с производством одного изделия каждого вида.

Таблица 9

Тип оборудования Затраты времени (ч) на обработку одного изделия
A B
I  
II
Затраты на производство Одного изделия

Оборудование II типа предприятие может использовать не более 52 часов. При этом оборудование I типа целесообразно использовать не менее 16 часов. Требуется определить, сколько изделий каждого вида следует изготовить, чтобы себестоимость одного изделия была минимальной.

Составим математическую модель задачи. За x1 обозначим количество выпускаемых изделий вида A, за x2 – количество изделий вида B. Себестоимость определяется следующим образом: С=З/K, где К – количество выпускаемых изделий, З - общие затраты на их производство. Тогда получим следующую задачу дробно-линейного программирования:

Задачи дробно-линейного программирования - student2.ru ;

Задачи дробно-линейного программирования - student2.ru

Преобразуем ограничения-неравенства данной задачи в равенства:

Задачи дробно-линейного программирования - student2.ru ;

Задачи дробно-линейного программирования - student2.ru

Сведем данную задачу к задаче линейного программирования. Для этого обозначим Задачи дробно-линейного программирования - student2.ru через y0 и введем новые переменные Задачи дробно-линейного программирования - student2.ru .

В результате приходим к следующей задаче: найти минимум функции

Задачи дробно-линейного программирования - student2.ru

при условиях

Задачи дробно-линейного программирования - student2.ru

Система ограничений задачи содержит всего одну базисную переменную y4. Поэтому составим расширенную задачу путем введения двух искусственных переменных y5 и у6. :

Задачи дробно-линейного программирования - student2.ru

при условиях

Задачи дробно-линейного программирования - student2.ru

Решение задачи методом искусственного базиса приведено в табл. 10.

Таблица 10

xd cd b M M
y1 y2 y3 y4 y0 y6 y5
Y5 М 2 -1 -16
y4 -52
y6 М
-5 -4
-1 -16
y2 -1/2 -8  
y4 1 -36  
y6 M 1/2 -6  
-1 -2 -32  
M 1/2 -6  
y2 -1/2 -8  
y1 -36  
y6 M -1/2 -1 30  
-16/3 -220  
M -1/2 -1  
y2 8/30 -19/30 -8/30  
y1 36/30 12/30 -6/30  
y0 1/30 -1/60 -1/30  
220/30 -12/30 -72/30  

Из таблицы видно, что оптимальным планом задачи является

Задачи дробно-линейного программирования - student2.ru .

Учитывая, что Задачи дробно-линейного программирования - student2.ru , находим оптимальный план исходной задачи:

Задачи дробно-линейного программирования - student2.ru . F(X*)=220/30.

Наши рекомендации