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

0

 

Факультет экономики и управления

Кафедра математических методов и моделей в экономике

 

 

ОТЧЕТ

по лабораторной работе

по курсу «Исследование операций»

на тему: «Решение задач линейного программирования»

 

 

Постановка задачи

 

На предприятии имеются три группы станков. Нужно изготовить два вида изделий – А и В. Фонд рабочего времени по первой группе станков составляет 400 часов, по второй- 360 часов, по третьей- 1320 часов. Время на обработку одного изделия вида А составляет для первой группы станков- 0,4 час., для второй – 0,84 час., для третьей- 8,0 часов. Соответственно для одного изделия группы В- 2,0; 1,2; 4,0 час. Каждое изделие вида А при его реализации дает прибыль предприятию в 1,2 ед., а изделие В- 4,8 ед. Найти план при котором прибыль будет максимальна.

Решить задачу:

  • Симплекс- методом с помощью программного обеспечения DV SIMP;
  • В МПП Excel с помощью надстройки «Поиск решения».

 

 

 

1 Обоснование симплекс- метода

 

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

Пусть имеется задача линейного программирования в канонической форме:

F=c1x1+c2x2+…+cnxn→max(min),                                                                   (1)


a11x1+a12x2+…+a1nxn=b1,
…………………………,                                                                 (2)
am1x1+am2x2+…+amnxn≤bm;

xi ≥0, i=1,…,n;

 

Введем в рассмотрение вектора ,  j=1,…,n.

Тогда задачу можно переписать в следующем виде:

F=<c,x>→max(min),                             (3)

A1x1+A2x2+…+Anxn=b,

,

и трактовать следующим образом: из всех разложений вектора b по векторам  с неотрицательными коэффициентами, требуется выбрать хотя бы одно такое, коэффициенты xi которого доставляют целевой функции F оптимальной значение. Не ограничивая общности, считаем ранг матрицы А: r=m и n>m.

Ненулевое допустимое решение  называется опорным, если вектора , соответствующие отличным от нуля координатам , линейно независимы.

Ненулевое опорное решение называется невырожденным, если оно имеет m- положительных координат.

Если число положительных координат опорного решения меньше m, то оно называется вырожденным.

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

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

Будем считать, что исходный базис Ai1,…,Aim, тогда вектор b разложим по этому базису:

b==

.

 Аналогично можно представить любой вектор :

  

В частности, в качестве исходного базиса могут быть взяты вектора, образующие единичную матрицу:

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

Используя разложение вектора  по базису векторами  можно сформулировать утверждения:

  1. Если для данного базиса все оценки  

неотрицательны, то опорное решение  является оптимальной точкой задачи;

  1. Если для данного базиса существует хотя бы одна оценка для нее все то это означает, что целевая функция данной задачи линейного программирования не ограничена сверху на допустимом множестве;
  2. Если для данного базиса есть такая отрицательная оценка что среди координат вектора  в данном базисе

 координаты все векторов в новом базисе могут быть найдены через координаты векторов в старом базисе по формулам:

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

Исходные данные:

  1. Вычисляем координаты разложения векторов  по базису ;
  2. Рассчитываем оценки по формулам (1) и проверяем, являются ли они положительными. Если да, то алгоритм заканчивает свою работу, опорное решения является оптимальным, если нет, то проверяем, существуют ли такие , что все . Если существуют, то алгоритм заканчивает свою работу, задача неразрешима. Если нет, находим  и находим

Далее производим замену в базисе вектора  на вектор  и снова выполняем разложение по новому базису.

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

Пусть дана задача в канонической форме и найден исходный базис . Находим разложение всех векторов по базису. Результат оформляем в виде таблицы.

 

Базис

 

В

 

   
 

 

1

       

   

2

       

   

M

       

   

 

   

 

 

 

 

 

 

 

         2 Практическая часть

 

         Представим данную задачу в виде таблицы 1.

        

         Таблица 1- Исходные данные

Группа станков

Фонд рабочего времени, час.

Время на реализацию ед. продукции

       А

       В

          1

         400

      0,4

       2

          2

         360

      0,84

      1,2

          3

         1320

        8

       4

 

         Обозначим:

х1- количество произведенных изделий вида А;

х2 – количество произведенных изделий вида В.

 

Таким образом, целевая функция имеет следующий вид:

F=1,2*x1+4,8*x2→max;

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

 

0,4*х1+2*х2 ≤ 400;

0,84*х1+1,2*х2 ≤ 360;

8*х1+4*х2 ≤ 1320;

х1 ≥ 0,  х2 ≥ 0.

        

         Решим задачу с помощью программы DV SIMP. Введем исходные данные (рисунок 1).

 

Рисунок 1- Исходные данные

 

         На следующем шаге необходимо привести систему к каноническому виду (рисунок 2).

 

Рисунок 2- Приведение к каноническому виду

 

После чего в целевой функции появятся переменные х3, х4, х5, и коэффициенты системы ограничений имеют следующий вид (рисунок 3):

 

Рисунок 3- Коэффициенты

 

         Видим, что начальный базис можно указать. Он будет состоять из векторов А3, А4, А5 , которые образуют единичную матрицу.

         Таким образом, на начальном этапе симплекс-таблица имеет следующий вид (рисунок 4):

 

Рисунок 4- Симплекс таблица

        

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

         Так как решение не найдено, продолжаем решение, определяем новый базис (рисунок 5).

 

Рисунок 5- Определение базиса

 

         По рисунку 5 видно, что ввести в базис нужно вектор А2, так как ему минимальная оценка.

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

         ϴ1=400/2=200;

ϴ2=360/1,2=300;

ϴ3=1320/4=330.

Минимальное значение ϴ соответствует вектору А3, следовательно, его выводим из базиса.

         Для нового базиса симплекс- таблица представлена на рисунке 6.

 

Рисунок 6- Симплекс-таблица

         Среди оценок текущей симплекс- таблицы есть отрицательная, следовательно, оптимальное решение не найдено, и нужно продолжать решение.

Минимальное значение оценки соответствует вектору А1, который введем в базис. Рассчитаем ϴ:

         ϴ1=200/0,2=1000;

ϴ2=120/0,6=200;

ϴ3=520/7,2=72.222.

Минимальное значение ϴ соответствует вектору А5, следовательно, его выводим из базиса.

         Для нового базиса симплекс- таблица представлена на рисунке 7.

 

Рисунок 7- Симплекс-таблица

        

         Видим, что среди оценок нет отрицательных, а значит, оптимальное решение найдено (рисунок 8).

 

Рисунок 8- Решение задачи

         В базис вошли вектора А2, А4, А1. Оптимальное значение целевой функции F=977,333. Соответственно оптимальные значения х1= 72,222; х2= 185,556.

         Найдем решение данной задачи с помощью функции «Поиск решения» в МПП Excel.

         Результат представлен на рисунке 9.

 

Рисунок 9- Решение задачи в МПП Excel

        

Получили аналогичный результат, то есть оптимально производить 72 изделия вида А и 185 изделий вида В. При этом максимальная прибыть  будет равна 977,333 ед.

 

Скачать: laboratornaya.rar

Категория: Отчеты по практике / Экономика

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.