русс | укр

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

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

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

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


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

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


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


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

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

1. Цель, поставленную в задаче, выразить в виде зависимости от искомых величин. Полученное выражение называют функцией цели (целевой функцией).

2. Записать условия, которые накладываются на искомые величины. Чаще всего – это системы уравнений или неравенств. Их называют системой ограничений.

Общая задача дробно-линейного программирования формулируется в виде:


 

где cj, dj, bj, aij – некоторые постоянные числа.

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

Как и в случае основной задачи линейного программирования, своё максимальное значение целевая функция задачи (1.1)-(1.3) принимает в одной из вершин многогранника решений, определяемого системой ограничений (1.2)-(1.3) (естественно при условии, что эта задача имеет оптимальный план). Это сходство с линейным программированием позволяет решать дробно-линейные задачи методом Штифеля.

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

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

 

  x1 x2 xj xn
y1 a11 a12 a1j a1n a1
………………………………………
yi ai1 ai2 aij ain ai
………………………………………
ym am1 am2 amj amn am
L1 c1 c2 cj cn
L2 d1 d2 dj dn

Табл. 1.



 

Через yi обозначаются разности между правыми и левыми частями системы ограничений:

yi = ai ai1x1 ai2x2 ai3x3 – … – ainxn ³ 0.

 

Свободными переменными мы будем называть переменные, расположенные в верхней заглавной строке жордановой таблицы. Приравнивая к нулю свободные переменные, мы получим исходное базисное решение: Данный вектор не может являться опорным планом, т.к. знаменатель целевого функционала на нем равен нулю ( ). Поэтому среди свободных членов системы ограничений a1,…, am обязательно есть отрицательные числа (иначе базисное решение было бы опорным планом).

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

 

  y1 xj xn
x1 b11 b1j b1n b1
.… ………………………………………
yi bi1 bij bin bi
…. …………………………………….
ym bm1 bmj bmn bm
L1 f1 fj fn F
L2 g1 gj gn G

Табл. 2.

 

В таблице 2 все свободные члены bi неотрицательны, что обеспечивает неотрицательность базисных переменных x1, …, ym. Кроме того (в силу положительности знаменателя целевой функции L2 на множестве опорных планов). Первоначальным опорным планом является вектор с координатами Значение целевой функции на первоначальном опорном плане равно

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

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

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

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

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

Метод Штифеля позволяет находить не только максимум, но и асимптотический максимум задачи дробно-линейного программирования. Рассмотрим более подробно переход от плана X0 к плану X1. Выбирая разрешающий элемент в j-м столбце, мы должны руководствоваться принципом минимального симплексного отношения. Т.е. разрешающий элемент в j-м столбце должен попасть в ту строку, для которой симплексное отношение положительно и минимально.

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

Однако, если на одном из шагов некоторая оценка меньше нуля, и при этом все элементы j-го столбца . Тогда в данном столбце, руководствуясь принципом минимального симплексного отношения, разрешающий элемент выбирать нельзя. Увеличивая значения свободной переменной xj от 0 и до (см. Табл. 2), мы все время остаемся в области планов. Это связано с тем, что увеличение переменной xj не вызывает изменения знака на минус ни у одной из базисных переменных.

Обозначим через М предел, к которому, монотонно возрастая, стремится целевая функция при : . Это число является асимптотическим максимумом.

 

Пример1.1. Найти максимум функционала:

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

 

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

  -x1 -x2
y1 -4 -1
y2 -3
y3 -1 -2
y4 -1 -1
z1 -2 -5
z2 -3 -2

Табл. 1.5.

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

  -y4 -x2
y1 -4
y2 -3
y3 -1 -2
x1 -1
z1 -2 -5
z2 -3 -2

Табл. 1

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

  -y4 -y3
y1 -4
y2 -3
x2 -1
x1 -1
z1 -2 -5
z2 -3 -2
dj -11 12/7
  -y4 -y1
y3 -4
y2 -10
x2 -4
x1 -1
z1 -22
z2 -11
dj -11 17/9

Табл. 2
Табл. 3

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

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

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

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

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

 

 



<== предыдущая лекция | следующая лекция ==>
Введение | Геометрическое решение задач ДЛП


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


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

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

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


 


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

 
 

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

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