русс | укр

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

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

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

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


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

Дробно – линейного программирования


Дата добавления: 2015-06-12; просмотров: 647; Нарушение авторских прав


Поиск с помощью метода Штифеля асимптотических решений задачи

 

Дана задача: найти максимум функционала (1)

При выполнении ограничений:

 

(2)

Решение задачи выполняется в такой последовательности.

1.Составим жорданову таблицу. При этом для функционала предусмотрены две строки: в верхнюю записываем коэффициенты числителя, а в нижнюю – знаменателя (таб.1).

 

 

 

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

В результате шагов придем к следующей таблице.

 

 

 

 

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

Как и в случае линейного программирования, решение, записанное в таблице, получаем, приравнивая все верхние переменные нулю, а боковые – свободным членам. Так находится вершина многогранника. При этом значение функционала на k-м шаге

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



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

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

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

(3)

Это будет так называемый определитель второго порядка с элементами и - строк, стоящими столбце s и в столбце свободных членов табл.2. С этим обозначением будем иметь

(4)

Исследуем выражение (4).

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

(отсюда должно быть , так как по условию допустимости плана ). Следовательно, скобка в выражении (4) всегда будет отрицательной: .

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

Если этот определитель положителен: , то вся правая часть выражения (4) окажется отрицательной, т.е. будем иметь ; отсюда .

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

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

Если будет , то , , т.е. значение функционала останется без изменения.

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

Имея такие результаты, для отыскания оптимального плана можно сформулировать следующие пункты алгоритма.

3.После нахождения опорного плана вычисляем для каждого столбца значение определителя (3):

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

 

 

 

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

5. Разрешающий элемент в выбранном столбце отыскивается по наименьшему симплексному отношению.

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

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

8.Оптимальное решение будет достигнуто, когда поле очередного шага все определители окажутся неотрицательными.

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

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

 

 

Теорема.Если один из определителей строки отрицательный и все элементы этого столбца тоже отрицательны, кроме быть может строк и , то задача имеет асимптотический максимум.

Док - во:

 

Пусть и все элементы , отрицательны.

Выпишем базисные переменные , которые равны соответственно .

Переменную увеличиваем, тогда переменные начинают расти.

Выясним, к чему стремится определитель . Из таблицы видно что , при чем продолжает увеличиваться это следует из того, что (так как ).

Ч.т.д.

Рассмотрим конкретный пример:

Найдем максимум функционала:

При выполнении ограничений:

Составим жорданову таблицу.

 

 

 

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

шаг модифицированных жордановых исключений

 

 

 

Продолжаем искать опорный план. За разрешающий элемент берем .

 

 

 

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

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

Угловой коэффициент

Конечный или бесконечный максимум, для этого определим к чему стремится z.

Получили конечный максимум.


Об ускорении поиска оптимального опорного плана задачи



<== предыдущая лекция | следующая лекция ==>
Виконання і обробка SQL-запиту | Линейного программирования


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


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

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

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


 


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

 
 

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

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