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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

Решение не является оптимальным, потому что  ∆5<0, следовательно, его можно улучшить.

Ключевым столбцом является столбец A5, т.к.  min ∆k =-4. Ключевой строкой является строка x4, т.к min Ɵ =1. Ключевой элемент равен 1.

Заполняем следующую симплексную таблицу.

а) переписываем ключевую строку, разделив ее на ключевой элемент;

б) заполняем базисные столбцы;

в) остальные коэффициенты таблицы находим по правилу «прямоугольника»

Правило «прямоугольника» заключается в  следующем: 

новыйэл.=старыйэл.-   соотв.эл.кл.столбца×соответств.эл.кл.строки

                                              ключевой элемент 
 

    Б   Zб -68 0 0 -17 0 4 Ɵ
А0 А1 А2 А3 А4 А5
X5 4 1 0 0 0 -3 1  
X1 0 9 1 0 0 -1 0  
X2 0 3 0 1 1 6 0  
          ∆k 72 0 0 0 5 0  

  новыйэл.=10- =9                                          

 новыйэл.=2- =2-(-1)=3 

новыйэл.=0- =-1 

новыйэл.=-4- =-4-(-3)=-1 

новыйэл.=5- =5+1=6

новыйэл.=0- =0+1=1 

Считаем ∆k:

0= × -(-68)=4+68=72

1=   × -0=0

2 =   × -0=0

3= × -(-17)= -12-(-17)=5

  ∆4= × -0=4

5   × -0=0

        

Т.к  все ∆k ≥ 0, то решение является оптимальным.

Ответ: max Z(Х) = 72 при Х = (9; 3; 0). 

1.5 Вывод 

      Максимальная  прибыль в размере 72 тыс. руб. достигается, если производить 9 станков I вида, 3 станка II вида и не производить станки III вида. При этом трудовые ресурсы используются полностью, сырья расходуется 15 единиц, а накладные ресурсы требуются в размере 15 единиц.    

 

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

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

     Задача в которой требуется спланировать перевозку однородного груза от поставщиков к потребителям называется транспортной задачей.

      Имеется однородный груз у m-поставщиков в количестве m: a1;a2;…;am. Этот груз требуется n потребителям в размерах b1;b2;…;bn. Известно Сij(i=1,m;j=1,n) стоимость перевозки 1 единицы груза от i-го поставщика к j-му потребителю, либо время на перевозку 1 единицы груза.

     Требуется составить такой план перевозок, при котором:

     1)все запасы поставщиков будут вывезены полностью;

     2) все запросы потребителей удовлетворены полностью;

     3) суммарные затраты на перевозку будут минимальными. 

Условия транспортной задачи записываются в виде таблицы:

 bj

ai

 
b1
 
b2
 
….
 
bn
 
a1
           c11           c12  
….
       c1n
 
a2
        c21           c22  
….
       c2n
 
….
 
….
 
….
 
….
 
….
 
am
      cm1           cm2  
….
       cmn
 

1) Выбираем  переменные задачи:

Пусть xij- количество едениц груза перевозимого от каждого поставщика каждому потребителю. хij(i= ;j= ) xij 0

2) Составляем систему ограничений: система будет состоять из уравнений т.к:

а) все запасы должны быть вывезены полностью

 

б) все  запросы должны быть удовлетворены  полностью:

3) Задаем  целевую функцию.

Цель  задачи: перевести груз с минимальными затратами.

Z(x)=C11x11+C12x12+…+Cmnxmn min

Таким образом математическая модель имеет  вид:

Составить такой план перевоза Х= удовлетворяющий системе ограничений:

xij

Транспортные  задачи делятся на две группы:

1) задачи  закрытого типа или с правильным  балансом:

    

2) задачи  открытого типа или с неправильным  балансом- 2 случая

а) для разрешимости задачи вводят фиктивного потребителя с запросами bn+1= . Стоимости перевозок от каждого поставщика равна нулю.

б) общий запас меньше требуемой величины. Вводят фиктивного поставщика с запасами: am+1=

Ci(m+1)=0 
 

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

Пусть требуется при решении транспортной задачи ограничить перевозки от поставщика с номером l и потребителю с номером k. Возможны ограничения двух типов: 1)xlk≥a; 2)xlk≤b, где a и b- постоянные величины.

  1. Если xlk≥ a, то необходимо прежде, чем решать задачу, сократить (уменьшить) запасы l-го поставщика и запросы k-го потребителя на величину a (зарезервировать перевозку xlk=а). В полученном оптимальном решении следует увеличить объем перевозки xlk на величину а.
  2. Если xlk≤b, то необходимо вместо k-го потребителя с запросами bk ввести двух других потребителей. Один из них с номером k должен иметь запросы b,k=b, а другои с номером n+1- запросы bn+!=bk-b. Стоимости перевозок для этих потребителей остаются прежними, за исключением стоимости cl(n+1), которая принимается равной сколь угодно большому числу M (M<< 1). После получения оптимального решения величины грузов, перевозимых к (n+1)-му потребителю, прибавляются к величинам перевозок k-го потребителя. Так как cl(n+1)=M- самая большая стоимость перевозки, то в оптимальном решении клетка с номером (l,n+1) останется пустой (xl(n+1)=0) и оббъем перевозки xlk не превзойдет b.

  

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

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

2) Строят начальное опорное решение. Либо методом «северо-западного угла» либо методом минимальной стоимости. Проверяют правильность заполнения клеток по количеству: их должно быть m+n-1. Проверяется линейная независимость с помощью метода вычеркивания.

3) Проверяют  решение на оптимальность с  помощью метода потенциалов: если решение оптимальное- записывают ответ.

4) Если  решение не оптимальное, то  переходят к новому опорному  решению с помощью построения  циклов и возвращаются к пункту 3.  
 

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

1) Метод «северо-западного угла»

     Распределение груза начинается с верхней клетки таблицы. Выбирают минимальное из значений: x11=min{a1;b1}. При этом из дальнейшего рассмотрения исключается либо поставщик, либо потребитель. Из оставшихся клеток таблицы выбирают клетку в которую записывают груз величиной:

 и.т.д пока весь груз не будет распределен.

2) Метод минимальной стоимости

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

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

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

     В системе будет (m+n-1) уравнений с (m+n) неизвестными т.е неизвестных на 1 больше, чем уравнений. Такая система имеет бесконечное множество решений, поэтому для ее решения одной из переменных дают конкретное значение (обычно U1=0 – система будет иметь одно единственное решение).

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

Если  все ∆ij≤0, то решение оптимальное. Если хотябы одна ∆ij>0, то решение не оптимальное и его можно улучшить. 

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

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

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

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