Решение задач линейного программирования

Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 10:53, реферат

Описание работы

Линейное программирование - один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого начала развиваться сама дисциплина «математическое программирование». Термин «программирование» в названии дисциплины ничего общего с термином «программирование (т.е. составление программ) для ЭВМ» не имеет, так как дисциплина «линейное программирование» возникла еще до того времени, когда ЭВМ стали широко применяться при решении математических, инженерных, экономических и др. задач.

Содержание работы

Введение


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

1.1 Математическая модель задач линейного программирования

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

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

1.4 Решение задачи симплексным методом

1.5 Вывод


Глава 2 Транспортная задача линейного программирования

2.1 Транспортная задача

2.2 Особенности транспортной задачи ограничениями на пропускную способность

2.3 Алгоритм решения транспортной задачи

2.4 Методы построения начального опорного решения

2.5 Метод потенциалов

2.6 Переход от первого опорного решения к другому

2.7 Решение транспортной задачи

2.8 Вывод


Заключение


Литература

Файлы: 1 файл

курсовик (3).doc

— 444.50 Кб (Скачать файл)

     Цикл  строится для клетки в которой  наибольшая положительная оценка Аij max{∆ij}. В эту клетку ставится знак “+” и она добавляется к заполненным клеткам таблицы.(т.е заполненных клеток становится m+n). Затем методом вычеркивания строится цикл.

    Метод вычеркивания:

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

   Оставшиеся клетки таблицы после вычеркивания образуют цикл. В найденном цикле расставляются знаки “+;-“ , в нечетных клетках “+”; в четных “-“; начиная с уже поставленного знака “+”. По циклу перераспределяется груз величиной тетта Ɵ=min”-“ {xij}. При построении нового решения все вычеркнутые клетки переписываются без изменения. В клетках со знаком “+” величина перевозки увеличивается на Ɵ. Со знаком “-“ уменьшается на Ɵ, при этом одна из помеченных клеток останется пустой. 

    1. Решение транспортной задачи
 

   Фирма «Союз» обеспечивает доставку видео- и аудеокассет с четырех складов, расположенных в разныхточках города в четыре магазина.

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

Склады Магазины Запасы,

тыс.шт.

№1 №2 №3 №4
Склад №1 3 2 5 4 1000
Склад №2 4 3 5 3 1500
Склад №3 1 1 3 2 500
Склад №4 1 1 6 3 1500
  500 500 1000 1500  

  Однако  имеются дополнительные условия : объем  перевозки кассет со склада №2 магазину №3 должен быть не менее 500 тыс.шт (x23≥500), а со склада №4 магазину №4 – не более 500 тыс.шт (x44≤500).

  Определите  оптимальный план поставок кассет в  магазины города, обеспечивающий минимальный  затраты. 
 
 
 

      bj

ai

500 500 1000 1500 Ф

1000

 
1000
            3              2            5                         4                       0
 
1500
            4            3            5                             3            0
 
500
      1       1       3       2            0
 
1500
      4        1       6       3       0
 

Проверяем баланс задачи:

ai=1000+1500+500+1500=4500

bj=500+500+1000+1500=3500

Т.к. ∑ai>∑bj, то вводим фиктивного потребителя b5=4500-3500=1000 

     Требуется при решении транспортной задачи ограничить перевозки от поставщика с номером 2 и потребителю с номером 3.

     Если  x23≥500, то необходимо прежде, чем решать задачу, сократить запасы 2-го поставщика и запросы 3-го потребителя на величину 500 (зарезервировать перевозку x23=500). В полученном оптимальном решении следует увеличить объем перевозки x23 на величину 500.

      bj

a

500 500 500 1500 Ф

1000

 
1000
             3              2            5                         4                       0
 
1000
            4            3            5                             3            0
 
500
      1       1       3       2            0
 
1500
      4        1       6       3       0
 

     Если  x44≤500, то необходимо вместо 4-го потребителя с запросами b4=1500 ввести двух других потребителей. Один из них с номером 4 должен иметь запросы b4’ = 500, а другой с номером 6 с запросами b6 = 1500-500=1000. Стоимости перевозок для этих потребителей остаются прежними, за исключением стоимости c44, которая принимается равной сколь угодно большому числу M (M<< 1). После получения оптимального решения величины грузов, перевозимых к 6-му потребителю, прибавляются к величинам перевозок 4-го потребителя. Так как c44 = M – самая большая стоимость перевозки, то в оптимальном решении клетка с номером (4,4) останется пустой (x44=0) и объем перевозки x44 не превзойдет 500. 

bj

ai

500 500 500    500* 1000Ф       1000*  
1000 3

0

2

1

      - 5

500

4

0

0

2 +

4

500

U1=0
1000 4

-

3

-

            5

-

3

500

0

1

3

500

U2=-1
500 1

500

      -  1

0

      + 3

0

2

0

0

0

2

0

U3=-2
1500 4

-

      + 1

500

6

-

3

-

      - 0

1000

M

-

U4=-2
V1=3 V2=3 V3=5 V4=4 V5=2 V6=4    

     Строим  начальное решение методом минимальной  стоимости.

      С=

     Находим значение целевой функции:

     Z(x)= 2500+2000+1500+1500+500+500=8500

Для каждого  поставщика и потребителя находим  потенциал. Для этого составлем  систему уравнений Ui+Vi=Cij для каждой заполненной решением клетки таблицы:

         Ui+Vj=Cij;U1=0

      Пусть U1=0, тогда:

     U1+V3=5 => V3=5

     U1+V6=4 => V6=4

     U2+V4=3 => V4=4

     U2+V6=3 => U2= -1

     U3+V1=1 => V1=3

     U3+V2=1 => V2=3

     U3+V3=3 => U3= -2

     U4+V2=1 => U4=  -2

     U4+V5= 0 => V5=2

     Для всех не заполненных решением клеток таблицы вычисляем оценку ∆ij=Ui+Vj-Cij .

     11=U1+V1-C11=0+3-3=0 ≤0

     12=U1+V2-C12=0+3-2=1 ≥0

     14=U1+V4-C14=0+4-4=0 ≤0

     15=U1+V5-C15=0+2-0=2 ≥0

     21=U2+V1-C21=1+3-4=-2 ≤0

     22=U2+V2-C22=-1+3-3=-1 ≤0

     23=U2+V3-C23=-1+5-5=-1 ≤0

     25=U2+V5-C25=-1+2-0=1 ≥0

     34=U3+V4-C34=-2+4-2=0 ≤0

     35=U3+V5-C35=-2+2-0=0 ≤0

     36=U3+V6-C36=-2+4-2=0 ≤0

     41=U4+V1-C41=-2+3-4=-3 ≤0

     43=U4+V3-C43=-2+5-6=-3 ≤0

     44=U4+V4-C44=-2+4-3=-1 ≤0

     46=U4+V6-C46=-2+4-M=2-M ≤0

 Так  как ∆25<0, ∆12<0, ∆15<0, то решение не оптимальное и его можно улучшить

 Ɵ min {500;1000;0}=0 

      bj

ai

500 500 500 500*                  ф

1000

1000*  
1000 3

0   

2

-

5

500

4

0

0

   0 +

4

-  500

 
U1=0 

U2=-1

1000 4

-

3

-

5

-

3

500-

0

-

3

      +500

500 1

500

1

-

3

0

2

0

0

-

2

0

 
U3=-2 

U4=0

1500 4

-

1

500

6

-

3

1 +

      - 0

1000

M

-

   
V1=3
 
V2=1
 
V3=5
 
V4=4
 
V5=0
 
V6=4

Информация о работе Решение задач линейного программирования