Общая формулировка задач линейного программирования

Общая формулировка задачи линейного программирования

Примеры, рассмотренные выше, укладываются в общий класс задач линейного программирования. Однако запись линейной функции и, главным образом, ограничений в разных задачах заметно различается.

Ряд практических задач сводится к смешанным условиям: часть ограничений — линейные уравнения, другие — линейные неравенства. Такое разнообразие форм записи условий задач затрудняет создание и использование общих методов и вычислительных алгоритмов их решения. Поэтому естественно рассмотреть метод и алгоритм решения основной (стандартной) задачи линейного программирования и способы сведения любой задачи линейного программирования к основной форме, которая состоит в следующем. Задана система m линейных алгебраических уравнений с n неизвестными:

(7)

и линейная функция относительно переменных х1, х2, ¼, хn:

(8)

Требуется найти такие неотрицательные значения переменных х1, х2, ¼, хn, которые бы удовлетворяли системе линейных уравнений (7) и, кроме того, обращали в максимум линейную функцию (8).

Заметим, что если по условиям задачи требуется отыскать минимум функции L, записанной в виде (8), то задачу можно свести к задаче максимизации функции L¢, связанной с функцией L так:

L¢ = — L = —c1x1 — c2x2 — ¼ — cnxn. (9)

Максимум функции (9) и минимум функции (8) будут достигаться при одном и том же наборе переменных (х1, х2, ¼, хn), удовлетворяющих условиям неотрицательности переменных и уравнениям (7), областью определения задачи.

Допустимым решением задачи линейного программирования будем называть любую совокупность переменных

х1 ³ 0, х2 ³ 0, ¼ , хn ³ 0, (10)

удовлетворяющих уравнениям (7).

Оптимальным решением будем называть то из допустимых решений, для которого линейная форма L обращается в максимум (минимум).

Графический метод решения задачи линейного программирования

Если число неизвестных в задаче линейного программирования равно двум, т.е. n = 2, то ее можно решить графическим методом. Кроме того, графический метод дает геометрическую интерпретацию решения ЗЛП. В качестве примера рассмотрим частный случай задачи 1, когда комбинат выпускает 2 вида продукции, например, j = 1,2:

  1. Булки
  2. Пирожные.

Тогда система ограничений на ресурсы будет иметь следующий вид: а11х1 + а12х2 £ b1 ограничение по муке а21х1+ а22х2 £ b2 ограничение по сахару а31х1+ а32х2 £ b3 ограничение по маслу а41х1+ а42х2 £ b4 ограничение по творогу а51х1+ а52х2 £ b5 ограничение по яйцам Используя численные данные аij и bi таблиц 3.2 и 3.3, получим следующую систему неравенств: 0,1×х1+ 0,04×х2 £ 200 (1) 0,01×х1+ 0,05×х2 £ 50 (2) 0×х1+ 0,05×х2 £ 50 (3) 0×х1+ 0×х2 £ 50 (4) 0,1×х1 + 0,2×х2 £ 500 (5) Так как а41 = 0 и а42 = 0, то вместо пяти осталось четыре неравенства. Превратим эти неравенства в равенства и построим в системе координат х1, х2 прямые (1), (2), (3), (5) ограничивающие область допустимых значений неизвестных х1, х2, представленную на рис.3.1. Рис. 1 Графическое решение ЗЛП при числе неизвестных n = 2 Для построения прямых (1), (2), (3), (5) используется обычно такой прием. Сначала полагают х1 = 0 и определяют на оси х2. Затем полагают х2 = 0 и определяют на оси х1. После этого через точки х1 и х2 на этих осях проводят прямые. Так для прямой (1) получим: х1 = 0, , х2 = 0, . Аналогично построим прямые (2) и (5). Прямая (3) идет параллельно оси х1 со значением . Из рис.1 следует, что область допустимых значений х1 и х2 ограничена многоугольником с вершинами 0,1,2,3, образованного осями координат х1 и х2, а также прямыми (1) и (2), т.е. ресурсами мукой и сахаром. Прямые (3) и (5) в данном примере на область допустимых значений х1 и х2 не влияют. Целевая функция в задаче 1 при двух видах продукции (булки и пирожное) примет вид D = с1х1+ с2х2= 0,84х1+ 3,2х2 = mах. Для определения оптимальных значений х1оп и х2оп, при которых величина D= mах, используем следующий прием: зададим произвольно величину D > 0, например D = 2000, и построим прямую 0,84х1 + 3,2х2 = 2000. Она пройдет через точки и на осях x1 и x2. На рис. 3.1 эта прямая показана пунктиром. Отметим, что прямая D = 2000 идет круче прямой (2). Если теперь увеличить значение D, например, D = 2500, тогда прямая D = 2500 переместится вверх параллельно прямой D = 2000. Увеличивая таким образом D, мы будем перемещать прямую параллельно самой себе до тех пор, пока она не достигнет верхней точки допустимой области. В данной задаче этой точкой является точка 2 пересечения прямых (1) и (2). Координаты этой точки определим, решив совместно систему из двух уравнений (1) и (2). 0,1×х1 + 0,04×х2 = 200 (1) 0,01×х1 + 0,05×х2 = 50 (2) Решение этой системы таково х1оп = 1739, х2оп = 652. Доход фирмы при таком плане выпуска продукции (в точке 2) составит: D3 = с1х1оп + с2х2оп = 0,84×1739 + 3,2×652 = 1460,76 + 2086,4 = 3547,16 (руб). При этом полностью будут израсходованы мука и сахар. Отметим, что при других ценах с1 и с2 на продукцию фирмы прямая D= с1х1 + с2х2 имела бы другой наклон, тогда оптимальное решение могло быть в точках 1 или 3 на рис. 3.1. Однако при ценах с1 = 0,84 руб и с2 = 3,2 руб доход фирмы в точках 1 и 3 составит:

  • в точке 1, когда изготовляются только пирожные

D1 = 3,2 × 1000 = 3200 руб.

  • в точке 2, когда изготовляются только булки

D3 = 0,84 × 2000 = 1680 руб. Из приведенных расчетов следует, что доход в точке 2 D2 = max = 3547,16 руб >D1 >D3 , то есть доход фирмы в точке 2 наибольший. Если бы наклон прямой D = с1х1 + с2х2 совпал бы с наклоном прямой (2), тогда оптимальных планов выпуска продукции было бы множество, а именно: во всех точках на прямой (2) в интервале между точками 1 и 2, включая эти две точки. Попытка решить эту задачу методом производных приведут к следующему абсурдному результату: , т.е. булки и пирожные надо продавать бесплатно, при этом получим D = 0. При трех неизвестных в ЗЛП, когда n = 3, строится трехмерная система координат с взаимно перпендикулярными осями х1, х2 и х3. При этом система неравенств образует трехмерную объемную фигуру — многогранник, а выражение целевой функции D = с1х1 + с2х2 + с3х3 описывает плоскость, наклон которой зависит от значений коэффициентов с1, с2 и с3. Перемещение этой плоскости вверх параллельно самой себе до верхней точки допустимой области определит координаты вершины многогранника х1оп, х2оп и х3оп, где выполняется условие оптимизационной задачи D = max. В принципе можно решить графически ЗЛП при n = 3, но сложно. При числе неизвестных больших трех, т.е. при n > 3 должна быть построена n-мерная система координат, неравенства образуют в гиперпространстве некий гипермногогранник, а целевая функция представляет собой гиперплоскость. Перемещение этой гиперплоскости в гиперпространстве параллельно самой себе приведет до верхней точки гипермногогранника, координаты вершины которого обеспечивают D = max.

Источник

Общая и основная задачи линейного программирования.

Общая задача. Найти максимальное значение линейной целевой функции. z = c1x1+ c2x2+ … + cnxn при линейных ограничениях xj>= 0,j= 1,n= n> Определение 1.1. Совокупность чисел х = (х1, х2. хn), удовлетворяющих ограничениям (1.2), называется допустимым решением или планом. Определение 1.2. План х* =(х1 * , х2 * . хn*), при котором целевая функция (1.1) принимает свое максимальное значение, называется оптимальным.Каноническая форма. Задачу линейного программирова­ния будем считать приведенной к каноническому виду, если 1) требуется найти максимум целевой функции; 2) система ограничений (1.2) содержи! только равенства; 3) правые части системы ограничений неотрицательны. Переход от общей формы к канонической: 1) если в задаче требуется найти минимум целевой функции, то вводим новую целевую функцию z1 = -z, тогда max z1 = -min z; 2) чтобы перейти от неравенства к равенству в системе огра­ничений, необходимо прибавить (вычесть) дополнительную не­отрицательную переменную к левой части неравенства; 3) если в правой части системы ограничений имеются отрица­тельные числа, то необходимо умножить на «-1» обе части равен­ства, в котором в правой части стоит отрицательное число. Задачу линейного программирования в канонической фор­ме называют основной задачей.

Свойства задач линейного программирования. Графический метод решения задач линейного программирования.

Свойства задач линейного программирования. Рассмотрим следующую основную задачу линейного про­граммирования: z = c1x1+ c2x2+ …+cnxnmax при ограничениях , Перепишем ограничения этой задачи к немирной форме: x1Р,+х2Р2+. + хnРn,(1.3) где Р1, . Рnи Р0 — k-мерные вектор-столбцы, составленные из коэффициентов при неизвестных и свободных членах системы ограничений основной задачи: Определение 1. План х = (x12. хn) называется опорным планом основной задачи линейного программирования, если его положительные коэффициенты (хj >0) стоят при линейно независимых векторах Рj. Так как векторы Р: являются k-мерными, то из определения опорного плана следует, что число его положительных компо­нент не может быть больше числа К. Определение 2. Опорный план называется невырож­денным, если он содержит ровно k положительных компонент, в противном случае он называется вырожденным. Свойства задач линейного программирования тесным обра­зом связаны со свойствами выпуклых множеств. Определение 3. Пусть х(|). х(m) — произвольные точ­ки евклидова пространства Rn . Выпуклой линейной комбинацией этих точек называется сумма: а,х(|) + . + аmх(m) , где аi; -про­извольные неотрицательные числа, сумма которых равна 1. Определение 4. Множество называется выпуклым, ес­ли вместе с любыми двумя своими точками оно содержит и отре­зок прямой, соединяющий эти точки. Определение 5. Точка х выпуклого множества назы­вается угловой, если она не может быть представлена в виде вы­пуклой линейной комбинации каких-нибудь двух других различ­ных точек данного множества. Сформулируем первое свойство задач ЛП. Теорема 1.1. Множество планов любой задачи линейного программирования является выпуклым (если оно не пусто). Определение 7. Непустое множество планов задачи линейного программирования называется многогранником реше­ний, а всякая угловая точка многогранника решений — вершиной. Сформулируем второе свойство задач ЛП. Теорема 1.2. Если задача линейного программирования имеет оптимальный план, то экстремальное значение целевая функция задачи принимает в одной из вершин многогранника решений. Если экстремальное значение целевая функция прини­мает более чем в одной вершине, то она принимает его на ребре (грани), содержащем эти вершины. Теорема 1.3. Если система векторов Р1. Рm() ли­нейно независима и такова, что х1Р1+. + хmРm0, где все хj>= 0, то точка х = (х,, х2. хт,0. 0) является верши­ной многогранника решений. Теорема 1.4. Если х = (х,,х2. хп) — вершина многогран­ника решений, то векторы Рj , соответствующие положительным хj > 0, линейно независимы.

Источник

Читайте также:  Машинные языки программирования это
Оцените статью