Главная страница
Навигация по странице:

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

  • 3.2. Реализация графического метода решения

  • 3.3. Примеры графического решения задач линейного программирования

  • Езу9у. Учебное пособие Рекомендовано методическим советом Уральского федерального университета в качестве учебного пособия для студентов вуза, обучающихся по направлениям подготовки


    Скачать 5.85 Mb.
    НазваниеУчебное пособие Рекомендовано методическим советом Уральского федерального университета в качестве учебного пособия для студентов вуза, обучающихся по направлениям подготовки
    АнкорЕзу9у
    Дата03.11.2022
    Размер5.85 Mb.
    Формат файлаpdf
    Имя файла978‑5‑7996-2956-4_2020.pdf
    ТипУчебное пособие
    #769125
    страница9 из 21
    1   ...   5   6   7   8   9   10   11   12   ...   21
    3. ГРАФИЧЕСКОЕ РЕШЕНИЕ ЗАДАЧИ
    ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
    3.1. Геометрическая интерпретация задачи
    Задача линейного программирования с двумя переменными легко решается графически. В случае трех переменных (соответственно, в трехмерном пространст- ве) графическое решение в принципе еще возможно, хотя и теряет преимущества наглядности; когда переменных больше, чем три, графический метод неприменим.
    Иногда количество переменных в задаче можно уменьшить (см. пример 3.5).
    Казалось бы, случай двух переменных, возможный лишь в учебных задачах или как результат резкого огрубления реальных задач, не должен представлять интереса. В действительности его рассмотрение очень важно, поскольку позво- ляет уяснить свойства общей задачи линейного программирования и принципы ее решения.
    Пусть дана задача:
    1
    ( )
    max,
    n
    j j
    j
    Z X
    c x
    =
    =


    (3.1)
    (
    )
    1 1, ,
    n
    ij j
    i
    j
    a x b i
    m
    =

    =

    (3.2)
    (
    )
    0 1, .
    j
    x
    j
    n

    =
    (3.3)
    Если количество переменных n = 2, то (3.2)–(3.3) можно рассматривать как систему неравенств
    11 1 12 2 1
    21 1 22 2 2
    1 1 2 2 1
    2
    ,
    ,
    ,
    0,
    0
    m
    m
    m
    a x a x b
    a x a x b
    a x a x b
    x
    x

    +


    +



    +


     ≥


    (3.4)
    на плоскости Ox
    1
    x
    2

    75
    Каждое неравенство здесь определяет одну из двух полуплоскостей, на ко- торые плоскость делится соответствующей прямой a
    i1
    x
    1
    + a
    i2
    x
    2
    = b
    i1
    ( 1, ),
    i
    m
    =
    включая и саму прямую — границу полуплоскости. Если система (3.4) сов- местна, то пересечением полуплоскостей является выпуклый
    *
    многоугольник решений, заштрихованный на рис. 3.1 (для случая m = 4).
    Если в системе ограничений (3.2)–(3.3) количество переменных n = 3, то каж дое неравенство системы определяет полупространство трехмерного про- странства с соответствующей граничной полуплоскостью a
    i1
    x
    1
    + a
    i2
    x
    2
    + a
    i3
    x
    3
    = b
    i
    ( 1, ).
    i
    m
    =
    Если система ограничений совместна, то полученные полупространства образуют в трехмерном пространстве выпуклую общую часть — многогранник решений, представляющий собой совокупность точек, координаты которых удовлетворяют системе (3.2)–(3.3).
    При n > 3 каждое неравенство системы (3.2)–(3.3) описывает полупростран- ство n-мерного пространства с соответствующей граничной гиперплоскостью
    *
    Напомним, что множество называется выпуклым, если вместе с любыми двумя его точ- ками оно содержит и соединяющий их отрезок. Пустое и одноточечные множества выпуклы по определению. Пересечение выпуклых множеств есть выпуклое множество.
    Рис. 3.1. Случай двух переменных с областью допустимых решений — выпуклый многоугольник. Стрелками по концам сегмента прямой здесь и ниже будем отмечать направление штриховки
    O
    x
    1
    x
    2
    (1)
    (2)
    (3)
    (4)

    76
    a
    i1
    x
    1
    + a
    i2
    x
    2
    + … + a
    in
    x
    n
    = b
    i
    ( 1, ).
    i
    m
    =
    Если система ограничений совместна, то пере- сечением полупространств является выпуклый n-мерный многогранник решений.
    Геометрически задача линейного программирования состоит в нахождении той точки n-мерного многогранника решений, координаты которой доставляют целевой функции оптимальное значение; при этом допустимыми решениями являются все точки многогранника решений.
    Свойства решений задачи линейного программирования
    Поскольку любая задача линейного программирования приводится к ка- нонической форме:
    Z
    1
    ( )
    max,
    n
    j j
    j
    X
    c x
    =
    =


    (3.5)
    (
    )
    1 1, ,
    n
    ij j
    i
    j
    a x b i
    m
    =
    =
    =

    (3.6)
    (
    )
    0 1, ,
    j
    x
    j
    n

    =
    (3.7)
    ограничимся рассмотрением свойств допустимых решений задачи в канони- ческой форме:
    1. Область допустимых решений задачи линейного программирования
    выпукла.
    2. Поскольку линейная функция не имеет экстремумов, целевая функция задачи линейного программирования достигает наибольшего значения на гра- нице области, а именно в угловой точке области допустимых решений. Если наибольшее значение целевой функции достигается более чем в одной угловой точке, то это же значение достигается и в любой линейной комбинации этих угловых точек.
    3. Каждому допустимому базисному решению задачи (3.5)–(3.7) соответст- вует угловая точка многогранника решений и, наоборот, каждой угловой точке многогранника соответствует допустимое базисное решение.
    Следствие из свойств 2 и 3: если задача линейного программирования имеет оптимальное решение, то оно совпадает, по меньшей мере, с одним из ее допустимых базисных решений, т. е. с одной из угловых точек (вершин) мно- гогранника решений, а это означает, что оптимальное решение задачи нужно искать среди конечного числа допустимых базисных решений.

    77
    3.2. Реализация графического метода решения
    Графический способ решения задачи линейного программирования можно использовать:
    • для решения задачи с двумя неизвестными, когда ограничения выражены неравенствами;
    • для решения задачи со многими неизвестными при условии, что в кано- нической форме она содержит две свободных неизвестных.
    Запишем задачу линейного программирования с двумя неизвестными:
    (
    )
    1 1 2 2
    ( )
    max min ,
    Z X c x c x
    =
    +

    (3.8)
    11 1 12 2 1
    21 1 22 2 2
    1 1 2 2
    ,
    ,
    ;
    m
    m
    m
    a x a x b
    a x a x b
    a x a x b
    +



    +



    +


    (3.9)
    1 2
    0,
    0.
    x
    x


    (3.10)
    Каждое неравенство в (3.9)–(3.10) геометрически определяет полуплоскость с граничной прямой соответственно a
    i1
    x
    1
    + a
    i2
    x
    2
    = b
    i
    ( 1, ),
    i
    m
    =
    x
    1
    = 0 и x
    2
    = 0. Если система (3.9)–(3.10) совместна, то область ее допустимых решений — это общая часть указанных полуплоскостей, называемая многоугольником решений. Об- ластью допустимых решений системы (3.9)–(3.10) может быть:
    • выпуклый многоугольник;
    • выпуклая неограниченная многоугольная область;
    • луч;
    • отрезок;
    • точка;
    • пустая область.
    Целевая функция Z(X) = c
    1
    x
    1
    + c
    2
    x
    2
    определяет на плоскости семейство ли-
    ний уровня — прямых, на каждой из которых функция принимает постоянное значение Z(X) = c
    1
    x
    1
    + c
    2
    x
    2
    = const.
    Градиент c = (c
    1
    ; c
    2
    ) целевой функции — это вектор, перпендикулярный ее линиям уровня и указывающий направление наискорейшего возрастания Z(X)
    (противоположный вектор –c указывает направление наискорейшего убывания целевой функции). Отыскание наибольшего (наименьшего) целевой функции сводится к нахождению в допустимой области решений точки
    0 0
    0 1
    2
    ( ; ),
    X
    x x
    =
    через которую проходит линия уровня с экстремальным значением целевой функции.

    78
    3.3. Примеры графического решения задач
    линейного программирования
    Для решения задач линейного программирования применяется следующий а л г о р и т м:
    1. Записать математическую модель (3.8)–(3.10) задачи.
    2. Построить в системе координат Ox
    1
    x
    2
    прямые, уравнения которых полу- чаются заменой неравенств равенствами в ограничениях (3.9)–(3.10).
    3. Заштриховать полуплоскости, определяемые каждым из неравенств
    (3.9)–(3.10) (границами полуплоскостей являются построенные прямые).
    4. Выделить область допустимых решений (в ней накладываются все штри- ховки).
    5. Построить градиент c = (c
    1
    ; c
    2
    ).
    6. Построить прямую уровня c
    1
    x
    1
    + c
    2
    x
    2
    = 0 (убедиться в том, что она пер- пендикулярна градиенту).
    7. При решении задачи на max (min) совершать параллельный перенос пря- мой c
    1
    x
    1
    + c
    2
    x
    2
    = 0 в направлении градиента (в противоположном направлении); в итоге либо найдется точка, в которой целевая функция принимает наибольшее
    (наименьшее) значение, либо обнаружится неограниченность функции сверху
    (снизу) на области допустимых решений.
    8. Найти координаты точки максимума (минимума) целевой функции и значение функции в этой точке.
    Пример 3.1. Предприятие производит продукцию видов Р
    1
    и Р
    2
    по цене 3 и 7 у. е. соответственно. При этом используются два вида сырья А и В. Суточные запасы и расход сырья каждого вида на единицу продукции Р
    1
    и Р
    2
    указаны в таблице.
    Вид сырья
    Запас сырья
    Расход сырья на единицу продукции
    Р
    1
    Р
    2
    А
    9 2
    3
    В
    7 1
    2
    Суточный спрос на продукцию Р
    1
    превышает спрос на продукцию Р
    2
    не бо- лее чем на две единицы, а спрос на продукцию Р
    2
    не бывает более двух единиц в сутки. Какое количество продукции каждого вида в сутки должно выпускать предприятие, чтобы получить максимальный доход от реализации продукции?
    Решение. Пусть х
    1
    и х
    2
    — количество единиц продукции Р
    1
    и Р
    2
    соответст- венно, производимой в сутки. Математическая постановка задачи:
    1 2
    ( ) 3 7
    max,
    Z X
    x
    x
    =
    +


    79 1
    2 1
    2 1
    2 2
    2 3
    9,
    2 7,
    2,
    2;
    x
    x
    x
    x
    x x
    x
    +


     +


     ≤ +

     ≤

    1 2
    0,
    0.
    x
    x


    На координатной плоскости покажем область допустимых решений, ог- раниченную осями координат и прямыми, соответствующими уравнениям:
    (1)
    (2)
    (3)
    1 2
    1 2
    1 2
    2 2
    3 9 ,
    2 7 ,
    2 ,
    2 (4).
    x
    x
    x
    x
    x x
    x
    +
    =
    +
    =
    =
    +
    =
    Область допустимых решений — пятиугольник, заштрихованный на рис. 3.2.
    Покажем вектор v, сонаправленный градиенту
    *
    c = (3; 7) и исходящий из на- чала координат. Проведем через ту же точку перпендикулярно градиенту ли- нию уровня (рис. 3.3). При параллельном переносе этой линии в направлении вектора v значение целевой функции возрастает. Мы хотим найти, в какой точке линия уровня покидает область допустимых решений. Судя по рис. 3.3,
    *
    Сам градиент не уместится на рисунке в выбранном масштабе.
    Рис. 3.2. Область допустимых решений для примера 3.1 2
    3 1
    O
    1 2
    3
    x
    1
    (1)
    (2)
    (3)
    (4)
    x
    2
    A
    B
    C
    D

    80
    это точка В. Следовательно, именно в ней целевая функция примет наибольшее значение.
    Точка В является точкой пересечения прямых (1) и (4) (см. рис. 3.2), поэтому ее координаты удовлетворяют системе
    1 2
    2 2
    3 9,
    2,
    x
    x
    x
    +
    =

     =

    решая которую, находим x
    1
    = 1,5 и x
    2
    = 2. Целевая функция Z в точке B (1,5; 2) принимает значение:
    ( )
    (
    )
    1 2
    1 2
    1,5 2
    max
    3 7
    3 1,5 7 2 18,5.
    x
    B
    x
    Z X
    Z
    x
    x
    =
    =
    =
    =
    +
    = ⋅
    + ⋅ =
    Итак, найдено оптимальное решение X = (1,5; 2), для которого max
    Z(X) = 18,5.
    Пример 3.2. Решить графически задачу:
    1 2
    ( ) 4 6
    max,
    Z X
    x
    x
    =
    +

    Рис. 3.3. Случай отыскания точки, в которой прямая, соответствующая целевой функции, покидает область допустимых решений
    2 1
    O
    1 2
    3
    x
    1
    x
    2
    A
    B (1,5; 2)
    C
    D
    v
    3x
    1
    + 7x
    2
    = 0

    81 1
    2 1
    2 1
    2 2
    2 3
    9,
    2 7,
    2,
    2;
    x
    x
    x
    x
    x x
    x
    +


     +


     ≤ +

     ≤

    1 2
    0,
    0.
    x
    x


    Решение. Заметим, что эта задача отличается от предыдущей лишь тем, что иначе определена целевая функция. Поэтому область допустимых решений по-прежнему будет такой, как показано на рис. 3.3. Надо лишь по-другому построить вектор, указывающий направление градиента c = (4; 6) и перпенди- кулярные ему линии уровня (рис. 3.4).
    Теперь линия уровня при параллельном переносе в направлении градиента покидает область допустимых решений не в точке В, а по отрезку ВС. Поэтому координаты любой точки отрезка ВС будут определять оптимальное решение исходной задачи.
    Выразим из уравнения
    1 2
    2 3
    9
    x
    x
    +
    =
    прямой ВС переменную х
    2
    :
    1 2
    9 2 3
    x
    x

    =
    2 1
    O
    1 2
    3
    x
    1
    x
    2
    A
    B (1,5; 2)
    C (3; 1)
    D
    v
    4x
    1
    + 6x
    2
    = 0
    Рис. 3.4. Случай, когда целевая функция покидает область допустимых решений по отрезку — задача имеет бесконечно много решений

    82
    Тогда оптимальное решение есть
    (
    )
    1 1
    1 3
    , (9 2 ) ,
    X
    x
    x
    =

    где х
    1
    — любое зна- чение из отрезка [1,5; 3], при этом
    ( )
    (
    )
    1 2
    1 2
    1,5 2
    max
    4 6
    4 1,5 6 2 18.
    x
    B
    x
    Z X
    Z
    x
    x
    =
    =
    =
    =
    +
    = ⋅
    + ⋅ =
    Проверьте, что при подстановке в целевую функцию координат точки С (3; 1) получается то же оптимальное значение.
    Пример 3.3. Решить задачу:
    1 2
    ( )
    min,
    Z X
    x x
    = −

    1 2
    1 2
    1 2
    1,5 3,
    2 4,
    2 4;
    x x
    x x
    x
    x




    +


     +


    1 2
    0,
    0.
    x
    x


    Решение. Построим область допустимых решений, ограниченную осями координат и прямыми, соответствующими уравнениям (рис. 3.5):
    1 2
    1 2
    1 2
    1,5 3 (1), 2 4 (2),
    2 4 (3).
    x x
    x x
    x
    x

    =
    +
    =
    +
    =
    Заметим, что область не ограничена сверху.
    Построим вектор градиента c = (1, −1), исходящий из начала координат, и проведем линии уровня в направлении, противоположном c, так как именно в этом направлении значение целевой функции Z(X) убывает (рис. 3.5). Чем выше располагается линия уровня, тем меньше значение целевой функции на ней. В силу неограниченности области допустимых решений Z(X) → −∞ на этой области, и исходная задача не имеет решения.
    Пример 3.4. Решить задачу:
    1 2
    ( )
    min,
    Z X
    x x
    = −

    1 2
    1 2
    1 2
    1,5 3,
    2 4,
    2 4;
    x x
    x x
    x
    x




    +


     +


    1 2
    0,
    0.
    x
    x


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

    83
    полуплоскость по другую сторону от соответствующей прямой. Сейчас систе- ма ограничений противоречива: нет таких точек, которые удовлетворяли бы всем ограничениям сразу (рис. 3.6). И эта задача линейного программирования не имеет решения, но по другой причине, нежели предыдущая задача.
    Итак, рассмотрены ситуации, встречающиеся при графическом решении задачи линейного программирования: оптимальное решение существует и един- ственно (пример 3.1); существует, но не единственно (бесконечное множество решений доставляют целевой функции одно и то же оптимальное значение — пример 3.2); оптимальное решение не существует — по причине неограничен- ности целевой функции в области допустимых решений (пример 3.3) или в силу несовместности ограничений задачи (пример 3.4).
    Наконец, рассмотрим задачу, которая, на первый взгляд, вообще не до- пускает графического решения, поскольку содержит более двух переменных.
    В действительности, выражая одни переменные через другие, можно уменьшить количество переменных до двух.
    4 3
    1 1
    3 4
    O
    (1)
    (2)
    (3)
    C
    x
    1
    x
    2
    –1
    Рис. 3.5. Случай, когда область допустимых решений не ограничена — задача может не иметь решения

    84
    Пример 3.5. Привести задачу линейного программирования
    1 2
    3 4
    ( ) 4 3
    max,
    Z X
    x
    x x x
    =

    +


    1 2
    3 4
    1 2
    3 4
    4 2
    1,
    3 4
    3;
    x x
    x
    x
    x x x
    x

    +

    =


    +

    +
    =

    (
    )
    0 1, 4
    j
    x
    j

    =
    к виду, допускающему графическое решение.
    Решение. Составим расширенную матрицу системы ограничений и вы- берем базисный минор, например, так, чтобы неизвестные х
    1
    и х
    2
    оказались базисными, а х
    3
    и х
    4
    — свободными
    *
    . Выполняя элементарные преобразования строк матрицы, выразим базисные переменные через свободные:
    3 1
    4 2
    13 5
    4 2
    1 1 4 2 1 1 0 1
    ,
    3 1 1 4 3 0 1 0

     




     


     




     


    *
    В силу неоднозначности отнесения переменных к базисным и свободным можно по- разному привести исходную задачу к виду, допускающему графическое решение. Векторы оптимального решения при этом, естественно, будут различаться, но они доставляют своим
    Рис. 3.6. Случай, когда система ограничений несовместна — задача не имеет решения
    3 1
    1 3
    4
    O
    (1)
    (2)
    (3)
    x
    1
    x
    2
    –1

    85
    откуда
    3 13 5
    1 1
    3 4
    2 3
    4 4
    2 4
    2 1
    ,
    x
    x
    x
    x
    x
    x
    = −

    =

    Подставим эти выражения в целевую функцию; учтем также, что на х
    1
    и х
    2
    действовали естественные ограничения. В итоге получим стандартную задачу, допускающую графическое решение:
    47 9
    3 4
    4 2
    ( ) 4
    max,
    Z X
    x
    x
    = −
    +

    3 1
    3 4
    4 2
    13 5
    3 4
    4 2
    1 0,
    0;
    x
    x
    x
    x



    



    
    3 4
    0,
    0.
    x
    x


    1   ...   5   6   7   8   9   10   11   12   ...   21


    написать администратору сайта