Задача линейного программирования (симплекс-метод)

Автор работы: Пользователь скрыл имя, 06 Июня 2012 в 10:39, курсовая работа

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

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

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

Введение… …..3
1. Теоретическая часть
1.1 Линейное программирование …..3
1.2 Табличный симплекс-метод …..4
2. Вычислительная процедура симплекс-метода
2.1 Нахождение исходного опорного решения общей задачи линейного программирования (I часть симплекса )……………………………………………5
2.2 Переход от найденного опорного решения к лучшему опорному решению (II часть симплекса)……………………………………………………...7
2.3 Метод искусственного базиса……………………………………………....9
3. Программная реализация
3.1. Блок-схема алгоритма ЗЛП …12
3.2. Описание основных процедур и функций …13
3.3 Листинг программы…………………………………………………………15
4. Контрольный пример …26
5.Руководство пользователя……………………………………………………….29
Заключение …32
Список использованной литературы …32

Файлы: 1 файл

КурсоваяХан.docx

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

xj≥0, ; bi≥0,

 

В дальнейшем решается расширенная  задача и по результатам её решения  находится оптимальное решение  исходной задачи или делается вывод  о неразрешимости на основании следующих  теорем:

Теорема 1. Если в оптимальном плане ={ , , …, , 0…0} расширенной задачи компоненты, соответствующие искусственным переменным, равны нулю, то исходная задача разрешима и её оптимальное решение имеет вид: ={ , , …, }.

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

Теорема 2. Если расширенная задача не имеет оптимального решения, то и исходная задача не имеет решения.

Расширенная задача имеет опорный  план:

   n-нулей.

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

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

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

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

Z(x)=2x1+3x2+ 2x3→max

х1

х2

+

х3

=

1

   

х2

+

х3

2

х1

+

х2

+

х3

3

xj≥0,

Решение. Приведем задачу к каноническому виду.

Z(x)=2x1+3x2+2 x3+0x4+0 x5→max

х1

х2

+

х3

       

=

1

   

х2

+

х3

+

х4

   

=

2

х1

+

х2

+

х3

   

х5

=

3

 

Система уравнений разрешена только относительно переменной х4 во 2 -ом уравнении, поэтому вводим в 1-ое и 2-ое уравнения искусственные переменные х6, х7. Получаем расширенную задачу

х1

х2

+

х3

       

+

х6

   

=

1

   

х2

+

х3

+

х4

           

=

2

х1

+

х2

+

х3

   

х5

   

+

х7

=

3

 

Z(x)=2x1+3x2+2 x3+0x4+0 x5−Mx6−Mx7→max

 

Начальное опорное решение расширенной  задачи:

Составляем симплекс - таблицу.

Баз.

переем.

Сбаз

План

2

3

2

0

0

х1

х2

х3

х4

х5

х6

х7

Х6

Х4

Х7

-M

0

-M

1

2

3

1

0

1

-1

1

1

1

1

1

0

1

0

0

0

-1

1

0

0

0

0

1

 

0

-2

-3

-2

0

0

0

0

 

-4

-2

0

-2

0

1

0

0

Х1

Х4

Х7

2

0

-M

1

2

2

1

0

0

-1

1

2

1

1

0

0

1

0

0

0

-1

-

-

-

0

0

1

 

2

0

-5

0

0

0

-

0

 

-2

0

-2

0

0

1

-

0

Х1

Х4

Х2

2

0

3

2

1

1

1

0

0

0

0

1

1

1

0

0

1

0

-1/2

1/2

-1/2

-

-

-

-

-

-

7

0

0

0

0

-5/2

-

-

Х1

Х5

Х2

2

0

3

3

2

2

1

0

0

0

0

1

2

2

1

1

2

1

0

1

0

-

-

-

-

-

-

-

12

0

0

5

5

0

-

-

 

Оптимальное решение расширенной  задачи:

={3,2,0,0,2,0,0}.

Тогда на основании теоремы 1 оптимальное  решение исходной задачи, записанной в каноническом виде, имеет вид:

={3,2,0,0,2}.

Без учета дополнительных переменных (балансовых), которые не требовалось  находить, окончательно имеем:

={3,2,0}; Zmax=12.

 

 

3. Программная реализация

 

3.1 Блок-схема алгоритма программы для решения ЗЛП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2.Описание основных процедур и функций

 

Программа LP состоит из 5 модулей:

 

 - Main – модуль для решения задачи ЛП симплекс-методом

   - Parametrs – работа с целевой функцией и ограничениями задачи

- Warning – предупреждение «Целевая функция не задана»

- About – «О программе»

- Child – результат решения задачи ЛП

 

 

 

Блок-схема процедуры

отыскания положительных коэффициентов в главном столбце и наименьшего частного при делении базисных неизвестных на коэффициенты в главном столбце

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Информация о работе Задача линейного программирования (симплекс-метод)