В математической оптимизации линейно -дробное программирование ( ЛДП ) является обобщением линейного программирования (ЛП). В то время как целевая функция в линейной программе является линейной функцией , целевая функция в линейно-дробной программе является отношением двух линейных функций. Линейную программу можно рассматривать как частный случай линейно-дробной программы, в которой знаменатель является постоянной функцией 1.
Формально дробно-линейное программирование определяется как задача максимизации (или минимизации) отношения аффинных функций на многограннике ,
где представляет собой вектор переменных, которые необходимо определить, и являются векторами (известных) коэффициентов, является (известной) матрицей коэффициентов и являются константами. Ограничения должны ограничивать допустимую область до , т.е. областью, в которой знаменатель положителен. [1] [2] В качестве альтернативы, знаменатель целевой функции должен быть строго отрицательным во всей допустимой области.
Мотивация по сравнению с линейным программированием
Как линейное программирование, так и дробно-линейное программирование представляют собой задачи оптимизации с использованием линейных уравнений и линейных неравенств, которые для каждого экземпляра проблемы определяют допустимый набор . Дробно-линейные программы имеют более богатый набор целевых функций. Неформально, линейное программирование вычисляет политику, обеспечивающую наилучший результат, такой как максимальная прибыль или минимальная стоимость. Напротив, дробно-линейное программирование используется для достижения наивысшего соотношения результата к стоимости, причем соотношение представляет наивысшую эффективность. Например, в контексте LP мы максимизируем целевую функцию прибыль = доход − стоимость и можем получить максимальную прибыль в размере 100 долларов США (= 1100 долларов США дохода − 1000 долларов США стоимости). Таким образом, в LP мы имеем эффективность 100/1000 долларов США = 0,1. Используя LFP, мы можем получить эффективность 10/50 долларов США = 0,2 с прибылью всего в 10 долларов США, но требуя только 50 долларов США инвестиций.
Преобразование в линейную программу
Любая дробно-линейная программа может быть преобразована в линейную программу, предполагая, что допустимая область непуста и ограничена, с помощью преобразования Чарнса-Купера . [1] Основная идея состоит в том, чтобы ввести в программу новую неотрицательную переменную , которая будет использоваться для перемасштабирования констант, участвующих в программе ( ). Это позволяет нам потребовать, чтобы знаменатель целевой функции ( ) был равен 1. (Чтобы понять преобразование, полезно рассмотреть более простой частный случай с .)
Формально линейная программа, полученная с помощью преобразования Чарнса-Купера, использует преобразованные переменные и :
Решение исходной дробно-линейной программы можно перевести в решение преобразованной линейной программы с помощью равенств
Наоборот, решение для и преобразованной линейной программы можно перевести в решение исходной дробно-линейной программы с помощью
Двойственность
Пусть двойственные переменные, связанные с ограничениями и , обозначаются как и , соответственно. Тогда двойственная переменная LFP выше будет [3] [4]
которая является LP и совпадает с двойственной эквивалентной линейной программой, полученной в результате преобразования Чарнса-Купера.
^ ab Чарнс, А.; Купер, WW (1962). «Программирование с линейными дробными функционалами». Naval Research Logistics Quarterly . 9 ( 3– 4): 181– 186. doi :10.1002/nav.3800090303. MR 0152370.
^ Бойд, Стивен П.; Ванденберг, Ливен (2004). Выпуклая оптимизация (PDF) . Cambridge University Press. стр. 151. ISBN978-0-521-83378-3. Получено 15 октября 2011 г. .
^ Шайбле, Зигфрид (1974). «Выпуклые эквивалентные и двойственные программы без параметров». Zeitschrift für Operations Research . 18 (5): 187–196 . doi : 10.1007/BF02026600. MR 0351464. S2CID 28885670.
↑
Глава пятая: Craven, BD (1988). Дробное программирование . Серия Sigma в прикладной математике. Том 4. Берлин: Heldermann Verlag. С. 145. ISBN978-3-88538-404-5. МР 0949209.
Murty, Katta G. (1983). "3.10 Дробное программирование (стр. 160–164)". Линейное программирование . Нью-Йорк: John Wiley & Sons, Inc. стр. xix+482. ISBN978-0-471-09725-9. МР 0720547.
Дальнейшее чтение
Баялинов, Э. Б. (2003). Дробно-линейное программирование: теория, методы, приложения и программное обеспечение . Бостон: Kluwer Academic Publishers.
Баррос, Ана Изабель (1998). Методы дискретного и дробного программирования для моделей местоположения . Комбинаторная оптимизация. Том 3. Дордрехт: Kluwer Academic Publishers. С. xviii+178. ISBN978-0-7923-5002-6. МР 1626973.
Мартос, Бела (1975). Нелинейное программирование: Теория и методы . Амстердам-Оксфорд: North-Holland Publishing Co. стр. 279. ISBN978-0-7204-2817-9. МР 0496692.
Шайбл, С. (1995). «Дробное программирование». В Райнер Хорст и Панос М. Пардалос (ред.). Справочник по глобальной оптимизации . Невыпуклая оптимизация и ее приложения. Том 2. Дордрехт: Kluwer Academic Publishers. С. 495–608 . ISBN978-0-7923-3120-9. МР 1377091.
Stancu-Minasian, IM (1997). Дробное программирование: теория, методы и приложения . Математика и ее приложения. Том 409. Перевод Виктора Джурджуциу с румынского 1992 года. Дордрехт: Kluwer Academic Publishers Group. стр. viii+418. ISBN978-0-7923-4580-0. МР 1472981.