русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Универсальный метод решения линейных


Дата добавления: 2014-11-27; просмотров: 1729; Нарушение авторских прав


Задач оптимизации

 

Графический метод решения ЗЛП целесообразно использовать только для задач с двумя переменными. В случае большего числа переменных используют универсальный метод решения ЗЛП – симплекс-метод.

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

 

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

1. Определение начального опорного плана ЗЛП.

2. Построение симплексной таблицы.

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

4. Переход к новому опорному плану задачи осуществляется путем определения генерального элемента и построением следующей симплексной таблицы.

5. Повторение действий, начиная с п.3.

Рассмотрим алгоритм симплекс-метода на примере.

Пример 2.3.1. Решить ЗЛП (2.2.1), (2.2.5) симплекс-методом.

Решение.Для решения ЗЛП необходимо, чтобы все свободные члены системы ограничений (2.2.1) были неотрицательными. Для этого первое неравенство системы умножим на (–1):

(2.3.1)

Замечание. Если требуется максимизировать целевую функцию, то удобнее перейти к нахождению минимума, используя соотношение max z = – min(–z).

Перейдем к минимуму в нашей задаче:

min(–z) = – x1 – 4x2

Приведем задачу к канонической форме, вводя дополнительные переменные x3 , x4, x5 в систему ограничений (2.3.1).

Замечание. Если неравенство имеет знак “ ”, то дополнительную переменную вводят со знаком “+”; если неравенство имеет знак “ ”, то дополнительную переменную вводят со знаком “– ”.

ЗЛП (2.3.1) в канонической форме имеет следующий вид:



min(–z) = – x1 – 4x2 .

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

(2.2.2)

min(–z) = – x1 – 4x2 + Мx6 + Мx7.

В векторной форме система ограничений (2.2.2) имеет вид

р1x1 + р2x2 + р3x3 + р4x4 + р5x5 + р6x6 + р7x7 = р0,

где р1 = , р2 = , р3 = , р4 = , р5 = , р6 = , р7 = , р0 =

Переменные x1 и x2 являются основными, x3, x4, x5 – дополнительными, x6, x7 – искусственными. Векторы р6, р4, р7 образуют единичный базис, причем р6 – первый базисный вектор.

Заполним первую симплекс-таблицу. Исходная симплекс-таблица заполняется следующим образом. В первой строке записывают коэффициенты целевой функции. В столбец “Базис” записывают базисные векторы. В столбце “С” записывают коэффициенты целевой функции при базисных векторах. В столбцах “р0”, “р1”, “р2”, “р3”, “р4”, “р5”, “р6”, “р7” записывают компоненты соответствующих векторов.

Для заполнения клеток таблицы, которые находятся в двух последних строках, нужно элементы столбца “С” умножить на соответствующие элементы рассчитываемого столбца и отнять число, стоящее в первой строке (за исключением столбца “р0”). Например, для заполнения клеток столбца “р2” умножим элементы столбца “С” на соответствующие элементы столбца “р2” и отнимем число – 4: М·5 + 0·1 + М·1 – (– 4) = 4 + 6М. Коэффициент при М записывают в М-строку, число без М вносят в z–строку.

Таблица 2.3.1

Первая симплексная таблица

 

Базис С р0 – 1 – 4 М М С.О.
р1 р2 р3 р4 р5 Р6 р7
р6 М –1 5/1
р4 6/1
р7 М –1 7/7
z-строка  
М-строка –1 –1  

 

Последние две строки симплекс-таблицы называются индексными. В них, начиная со второго столбца “р1”, содержатся оценки оптимальности, с помощью которых проверяют оптимальность опорного плана, соответствующего данной таблице. Значение составляющих опорного плана расположено в столбце “р0”, причем небазисным переменным присваивают нулевые значения.

Первой симплекс-таблице 2.3.1 соответствует опорный план:

x1 = 0, x2 = 0, x3 = 0, х4 = 6, x5 = 0, x6 = 5, x7 = 7.

Критерий оптимальности проверяют по М-строке, а если она отсутствует, то по z-строке.

Критерий оптимальности опорного плана

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

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

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

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

Для перехода к следующей симплекс-таблице в М-строке выбирают наибольшую положительную оценку, начиная со столбца “р1”. В нашем случае – это число 8 в столбце “р1”.

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

В нашем случае вектор “р1” следует ввести в базис.

Найдем симплексноеотношение оптимальности : элементы столбца “р0” разделим на положительные элементы разрешающего столбца.

ü Строка, соответствующая наименьшему отношению оптимальности , называется разрешающей. Она показывает, какой вектор следует вывести из базиса.

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

ü Генеральный элемент – это элемент, который расположен на пересечении разрешающего столбца и разрешающейстроки.

В нашем случае это число 7.

Переход к следующей симплекс-таблице осуществляют по правилам:

· все элементы разрешающей строки делят на генеральныйэлемент;

· разрешающий столбец дополняют нулями;

· если в разрешающей строке есть нули, то соответствующие столбцы переписывают без изменений;

· все другие элементы рассчитывают с помощью метода прямоугольников: если г – генеральный элемент, с – старый элемент, а и b – элементы разрешающей строки и разрешающего столбца,топ – новый элемент находят по формуле:

 

 

а с
   
г   b

Таким образом, вторая симплекс-таблица имеет вид:

Таблица 2.3.2

Вторая симплексная таблица

Базис С р0 – 1 – 4 М С.О.
р1 р2 р3 р4 р5 р6
р6 М 34/7 –1 1/7 4/(34/7)=14/17
р4 6/7 1/7 5/(6/7)=30/7
р1 – 1 1/7 –1/7 1/(1/7)=7
z-строка – 1 27/7 1/7  
М-строка 34/7 –1 1/7  

 

Этой симплексной таблице соответствует опорный план:

x1 = 1, x2 = 0, x3 = 0, х4 = 5, x5 = 0, x6 = 4.

Он не является оптимальным, так как в М-строке есть положительные оценки.

По правилам, описанным выше, перейдем к третьей симплексной таблице:

 

Таблица 2.3.3

Третья симплексная таблица

Базис С р0 – 1 – 4
р1 р2 р3 р4 р5
р2 4 14/17 –7/34 1/34  
р4 73/17 3/17 2/17 (73/17)/(3/17)=73/3
р1 – 1 15/17 1/34 –5/34 (15/17)/(1/34)=30
z-строка –71/17 27/34 1/34  

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

Третьей симплексной таблице соответствует опорный план:

x1 = 15/17, x2 = 14/17, x3 = 0, х4 = 73/17, x5 = 0.

Он не является оптимальным, так как в z-строке есть положительные оценки.

Перейдем к четвертой симплексной таблице:

 

Таблица 2.3.4

Четвертая симплексная таблица

Базис С р0 – 1 – 4  
р1 р2 р3 р4 р5
р2 4 35/6 7/6 1/6  
р3 73/3 17/3 2/3  
р1 – 1 1/6 –1/6 –1/6  
z-строка –47/2 –9/2 –1/2  

 

Этой симплекс-таблице соответствует опорный план:

x1 = 1/6, x2 = 35/6, x3 = 73/3, х4 = 0, x5 = 0.

Он является оптимальным и единственным, так как в z-строке нет положительных оценок. Значение целевой функции min (– z) = – 47/2, значит,

max z = – min (– z) = 47/2.



<== предыдущая лекция | следующая лекция ==>
Программирования | Свойства двойственных задач


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.125 сек.