Математическое программирование

Автор работы: Пользователь скрыл имя, 13 Июня 2011 в 15:48, курс лекций

Описание

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

Работа состоит из  1 файл

МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ.doc

— 922.50 Кб (Скачать документ)

     

     Сначала полагаем h=0, т.е. строим нулевой уровень функции цели.

      - прямая линия

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

     Координаты  этой точки и есть решение задачи, т.е. ее оптимальный план.

     При этом возможны следующие 4 случая:

       
 
 
 

     При нахождении минимального значения функции  цели линия нулевого уровня передвигается  в направлении, противоположном  направлению вектора  .

     Итак, графический метод решения задач линейного программирования состоит из следующих этапов:

    1. для каждого неравенства строят граничные прямые и выбирают полуплоскость, соответствующую данному неравенству;
    2. находят область допустимых планов, как область пересечения полуплоскостей (многоугольник решений);
    3. строят нулевой уровень функции цели;
    4. строят вектор-градиент функции цели (или вектор-нормаль);
    5. параллельным переносом перемещают уровень функции цели в направлении вектора-нормали (при поиске максимального значения) до тех пор, пока он не окажется в крайней точке области допустимых планов;
    6. координаты этой точки (множества точек) и есть оптимальный план ЗЛП (координаты точек находят, решая систему уравнений прямых, на пересечении которых они находятся). .

    Пример 1.:

                         

    Пример 2.

                         

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

      Идея  симплексного метода решения ЗЛП состоит в переходе от одного опорного плана к другому, при котором значение целевой функции возрастает (при условии, что данная задача имеет оптимальный план, и каждый ее опорный план является невырожденным). Указанный переход возможен, если известен какой-нибудь исходный опорный план.

      Пусть требуется найти максимальное значение функции

    Запишем эту  задачу в канонической форме:

Таким образом, мы перешли к рассмотрению задачи линейного программирования в пространстве Rn+m.

Такая система m уравнений с (n+m) неизвестными имеет бесконечное множество решений. Пусть переменные W1,...,Wm – базисные.

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

    Первый допустимый (опорный) план задачи:

      

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

Б\С 1
2
-xn b С/о
W1

W2

·

·

·

Wm

a11

a21

·

·

·

am1

a12

a22

·

·

·

am2

...

...

·

·

·

...

a1n

a2n

·

·

·

amn

b1

b2

·

·

·

bm

b1/a12

b2/a22

·

·

·

b2/a22

F -c1 -c2 ... -cn    
 

      Решение осуществляется по следующей схеме:

  1. В строке F выбирают самый большой по модулю отрицательный элемент. Столбец, в котором он стоит, будет разрешающим.
  2. Для элементов разрешающего столбца находят симплексное отношение (не отрицательное отношение элементов столбца свободных членов b к элементам разрешающего столбца).
  3. Разрешающая строка будет соответствовать наименьшему симплексному отношению.
  4. На пересечении разрешающего столбца и разрешающей строки находится разрешающий элемент. (В данном случае это                  , ему соответствуют базисная переменная W1 и свободная переменная x2.)
  5. Составляем новую симплекс-таблицу, меняя местами x2 и W1.
  6. Разрешающий элемент в новой таблице заменяем на обратную величину a12→1/a12.
  7. Элементы разрешающей строки делятся на разрешающий элемент.
  8. Элементы разрешающего столбца делим на разрешающий элемент с противоположным знаком.
  9. Остальные элементы таблицы пересчитываем по правилу прямоугольника. 
     
Б\С 1
-W1
-xn b С/о
x2

W2

·

·

·

Wm

a11/a12

a21

·

·

·

am1

1/a12

-a22/a12

·

·

·

-am2/a12

...

...

·

·

·

...

a1n/a12

a2n

·

·

·

amn

b1/a12

b2

·

·

·

bm

 
F -c1 -c2/a12 ... -cn    
 
  1. Процедура повторяется до тех пор, пока все  элементы строки F станут неотрицательными.
 

    Оптимальный план задачи – это базисное решение, при котором все элементы строки F положительны, а оптимальное значение функции цели записано в клетке таблицы на пересечении строки F и столбца b.

    Если  при решении ЗЛП все симплексные  отношения получились отрицательные, то функция цели не ограничена на области  допустимых (опорных) планов. 

    Пример: 

    Для производства 2-х видов продукции  П1 иП2 предприятие расходует два вида ресурсов Р1 и Р2. Расход каждого вида ресурса на единицу продукции каждого вида, запасы ресурсов и прибыль от реализации единицы продукции каждого вида приведена в таблице 

Виды  ресурсов Виды  продукции Запасы  ресурсов
П1 П2
Р1

Р2

1

2

5

1

15

12

Прибыль от реализации единицы продукции 6/5 3/2  
 

    Математическая  модель задачи:

    L1:

    S1:

    Математическая формулировка ЗЛП: найти такие значения переменных х1 и х2, удовлетворяющих системе ограничений S1, которые максимизируют функцию цели F.

    1. Приведем задачу к каноническому  виду, введя дополнительные неотрицательные  переменные w1 и w2.

      

      

    2. Разрешим систему ограничений  задачи относительно w1 и w2:

    

     , где w1, w2 – базисные переменные; х1, х2 – свободные. 

    Запишем задачу в виде симплекс-таблицы:

    Т.1.

    Б\С 1 2 b с/о
     
    W1

    W2

     
    1

    2

    5

    1

     
    15

    12

     
    2

    12

    F -6/5 -3/2 0  

                                                #

     - опорный план

    F=0

    w1, w2 – остатки ресурсов 

    Т.2.

    Б\С 1 - W1 b с/о
    х2 

    W2

    1/5
    1/5 

    -1/5

    3 

    9

    15 

    5

    F -9/10 3/10 9/2  

                             #

    

    F2=9/2 

    Т.3.

    Б\С - W2 - W1 b
    х2

    х1

    -1/9

    5/9

    2/9

    -1/9

    2

    5

    F 1/2 1/5 9

Информация о работе Математическое программирование