Пример использования симплекс-метода

Описание решения прямой задачи линейного программирования симплексным методом с использованием симплексной таблицы. Выражение искусственных переменных. Определение минимального значения целевой функции. Формирование всех частей симплексной таблицы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 15.01.2015
Размер файла 16,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Примеры использования симплекс-метода

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

F(X) = x1 + 2x2

при следующих условиях ограничений.

- 2x1 + x2?2 x1 + x2?3 x1 - 2x2?2.

Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме). В 1-м неравенстве смысла (?) вводим базисную переменную x3 со знаком минус. В 2-м неравенстве смысла (?) вводим базисную переменную x4 со знаком минус. В 3-м неравенстве смысла (?) вводим базисную переменную x5.

-2x1 + 1x2-1x3 + 0x4 + 0x5 = 2 1x1 + 1x2 + 0x3-1x4 + 0x5 = 3 1x1-2x2 + 0x3 + 0x4 + 1x5 = 2

Введем искусственные переменные x: в 1-м равенстве вводим переменную x6; в 2-м равенстве вводим переменную x7;

-2x1 + 1x2-1x3 + 0x4 + 0x5 + 1x6 + 0x7 = 2 1x1 + 1x2 + 0x3-1x4 + 0x5 + 0x6 + 1x7 = 3 1x1-2x2 + 0x3 + 0x4 + 1x5 + 0x6 + 0x7 = 2

Для постановки задачи на минимум целевую функцию запишем так:

F(X) = x1+2x2+Mx6+Mx7 > min

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

Из уравнений выражаем искусственные переменные:

x6 = 2+2x1-x2+x3 x7 = 3-x1-x2+x4

которые подставим в целевую функцию:

F(X) = x1 + 2x2 + M(2+2x1-x2+x3) + M(3-x1-x2+x4) > min или F(X) = (1+M)x1+(2-2M)x2+(M)x3+(M)x4+(5M) > min

Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:

-2

1

-1

0

0

1

0

1

1

0

-1

0

0

1

1

-2

0

0

1

0

0

Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом. Экономический смысл дополнительных переменных: дополнительные перемены задачи ЛП обозначают излишки сырья, времени, других ресурсов, остающихся в производстве данного оптимального плана. Решим систему уравнений относительно базисных переменных: x6, x7, x5.

Полагая, что свободные переменные равны 0, получим первый опорный план: X1 = (0,0,0,0,2,2,3)

Базисное решение называется допустимым, если оно неотрицательно.

Базис

B

x1

x2

x3

x4

x5

x6

x7

x6

2

-2

1

-1

0

0

1

0

x7

3

1

1

0

-1

0

0

1

x5

2

1

-2

0

0

1

0

0

F(X0)

5M

-1-M

-2+2M

-M

-M

0

0

0

линейный программирование симплексный переменная

Переходим к основному алгоритму симплекс-метода. Итерация №0.

1. Проверка критерия оптимальности. Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты.

2. Определение новой базисной переменной. В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент.

3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai2 и из них выберем наименьшее:

min (2 : 1 , 3 : 1 , - ) = 2

Следовательно, 1-ая строка является ведущей.

Разрешающий элемент равен (1) и находится на пересечении ведущего столбца и ведущей строки

Базис

B

x1

x2

x3

x4

x5

x6

x7

min

x6

2

-2

1

-1

0

0

1

0

2

x7

3

1

1

0

-1

0

0

1

3

x5

2

1

-2

0

0

1

0

0

-

F(X1)

5M

-1-M

-2+2M

-M

-M

0

0

0

0

4. Пересчет симплекс-таблицы.

Формируем следующую часть симплексной таблицы. Вместо переменной x6 в план 1 войдет переменная x2.

Строка, соответствующая переменной x2 в плане 1, получена в результате деления всех элементов строки x6 плана 0 на разрешающий элемент РЭ=1. На месте разрешающего элемента в плане 1 получаем 1. В остальных клетках столбца x2 плана 1 записываем нули.

Таким образом, в новом плане 1 заполнены строка x2 и столбец x2. Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника. Для этого выбираем из старого плана четыре числа, которые расположены в вершинах прямоугольника и всегда включают разрешающий элемент

РЭ. НЭ = СЭ - (А*В)/РЭ

СТЭ - элемент старого плана, РЭ - разрешающий элемент (1), А и В - элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ.

Представим расчет каждого элемента в виде таблицы:

B

x 1

x 2

x 3

x 4

x 5

x 6

x 7

2 : 1

-2 : 1

1 : 1

-1 : 1

0 : 1

0 : 1

1 : 1

0 : 1

3-(2 * 1):1

1-(-2 * 1):1

1-(1 * 1):1

0-(-1 * 1):1

-1-(0 * 1):1

0-(0 * 1):1

0-(1 * 1):1

1-(0 * 1):1

2-(2 * -2):1

1-(-2 * -2):1

-2-(1 * -2):1

0-(-1 * -2):1

0-(0 * -2):1

1-(0 * -2):1

0-(1 * -2):1

0-(0 * -2):1

(0)-(2 * (-2+2M)):1

(-1-M)-(-2 * (-2+2M)):1

(-2+2M)-(1 * (-2+2M)):1

(-M)-(-1 * (-2+2M)):1

(-M)-(0 * (-2+2M)):1

(0)-(0 * (-2+2M)):1

(0)-(1 * (-2+2M)):1

(0)-(0 * (-2+2M)):1

Получаем новую симплекс-таблицу

Базис

B

x1

x2

x3

x4

x5

x6

x7

x2

2

-2

1

-1

0

0

1

0

x7

1

3

0

1

-1

0

-1

1

x5

6

-3

0

-2

0

1

2

0

F(X1)

4+M

-5+3M

0

-2+M

-M

0

2-2M

0

Итерация №1.

1. Проверка критерия оптимальности. Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты.

2. Определение новой базисной переменной. В качестве ведущего выберем столбец, соответствующий переменной x1, так как это наибольший коэффициент.

3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai1 и из них выберем наименьшее:

min (-, 1 : 3, - ) = 1/3

Следовательно, 2-ая строка является ведущей.

Разрешающий элемент равен (3) и находится на пересечении ведущего столбца и ведущей строки

Базис

B

x1

x2

x3

x4

x5

x6

x7

min

x2

2

-2

1

-1

0

0

1

0

-

x7

1

3

0

1

-1

0

-1

1

1/3

x5

6

-3

0

-2

0

1

2

0

-

F(X2)

4+M

-5+3M

0

-2+M

-M

0

2-2M

0

0

4. Пересчет симплекс-таблицы.

Формируем следующую часть симплексной таблицы.

Вместо переменной x7 в план 2 войдет переменная x1. Строка, соответствующая переменной x1 в плане 2, получена в результате деления всех элементов строки x7 плана 1 на разрешающий элемент РЭ=3

На месте разрешающего элемента в плане 2 получаем 1. В остальных клетках столбца x1 плана 2 записываем нули.

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

Представим расчет каждого элемента в виде таблицы

B

x 1

x 2

x 3

x 4

x 5

x 6

x 7

2-(1 * -2):3

-2-(3 * -2):3

1-(0 * -2):3

-1-(1 * -2):3

0-(-1 * -2):3

0-(0 * -2):3

1-(-1 * -2):3

0-(1 * -2):3

1 : 3

3 : 3

0 : 3

1 : 3

-1 : 3

0 : 3

-1 : 3

1 : 3

6-(1 * -3):3

-3-(3 * -3):3

0-(0 * -3):3

-2-(1 * -3):3

0-(-1 * -3):3

1-(0 * -3):3

2-(-1 * -3):3

0-(1 * -3):3

(0)-(1 * (-5+3M)):3

(-5+3M)-(3 * (-5+3M)):3

(0)-(0 * (-5+3M)):3

(-2+M)-(1 * (-5+3M)):3

(-M)-(-1 * (-5+3M)):3

(0)-(0 * (-5+3M)):3

(2-2M)-(-1 * (-5+3M)):3

(0)-(1 * (-5+3M)):3

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x6

x7

x2

8/3

0

1

-1/3

-2/3

0

1/3

2/3

x1

1/3

1

0

1/3

-1/3

0

-1/3

1/3

x5

7

0

0

-1

-1

1

1

1

F(X2)

52/3

0

0

-1/3

-12/3

0

1/3-M

12/3-M

Размещено на Allbest.ru


Подобные документы

  • Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.

    курсовая работа [100,0 K], добавлен 31.10.2014

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

    методичка [237,2 K], добавлен 25.09.2010

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

    курсовая работа [511,9 K], добавлен 20.07.2012

  • Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.

    контрольная работа [191,1 K], добавлен 05.04.2016

  • Описание симплекс метода решения задачи линейного программирования. Решение задачи методом Литла на нахождение кратчайшего пути в графе, заданном графически в виде чертежа. Из чертежа записываем матрицу расстояний и поэтапно находим кратчайший путь.

    задача [390,4 K], добавлен 10.11.2010

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

    курсовая работа [1,1 M], добавлен 21.03.2012

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

    курсовая работа [415,8 K], добавлен 08.09.2013

  • Постановка задачи линейного программирования. Решение системы уравнений симплекс-методом. Разработка программы для использования симплекс-метода. Блок-схемы основных алгоритмов. Создание интерфейса, инструкция пользователя по применению программы.

    курсовая работа [1,7 M], добавлен 05.01.2015

  • Разработка структурной диаграммы программного модуля для целочисленного решения задачи линейного программирования с использованием симплекс-метода. Краткое описание всех уровней диаграммы с назначением всех ее блоков. Язык программирования Visual C#.

    курсовая работа [874,7 K], добавлен 27.02.2013

  • Обеспечение наибольшей прибыли от реализации выпускаемой продукции мебельной фабрики. Решение задачи в среде MS Excel. Выполнение преобразования симплексной таблицы методом Жордана-Гаусса. Применение метода динамического программирования и сечения Гомори.

    курсовая работа [58,9 K], добавлен 28.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.