fixfix
2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Правило Бленда в ЗЛП с двойными ограничениями
Сообщение03.08.2019, 20:28 


07/10/15

2400
В результате долгих стараний, всё таки, удалось реализовать алгоритм для решения ЗЛП с двойными ограничениями следующего вида:
$$\begin{cases}
a_1\cdot x_{11}+a_2\cdot x_{12}+...+a_2\cdot x_{1p}= C_1\\
....................................\\
a_1\cdot x_{n1}+a_2\cdot x_{n2}+...+a_2\cdot x_{np}= C_n\\
a_1\cdot y_1+a_2\cdot y_2+...+a_2\cdot y_p \to max\\
a_i\geqslant 0, a_i\leqslant u_i \\
}
\end{cases}$$
Составлен он по методичке http://rain.ifmo.ru/cat/data/theory/unsorted/simplex-method-2003/article.pdf любезно предоставленной Someone.

Программа работает, пока никаких ошибок не обнаружено. Но сразу же возникает один серьёзный вопрос, как тут быть с зацикливанием?

В этом алгоритме рассматривается 3 критерия выбора выводимой из плана переменной: 1 - как в обычном симплекс алгоритме, минимальное положительное отношение столбца свободных членов к разрешающему столбцу $\theta_1$, 2 - минимальное положительные отношения столбца свободных членов, за вычетом соответствующих верхних ограничений к разрешающему столбцу $\theta_2$, 3 - верхняя граница вводимого в план элемента $u_j$ (все обозначения как в методичке).

Но неопределённостей здесь намного больше чем в простом симплекс-алгоритме.
Вариант первый - классический, имеется несколько строк с одинаковыми $\theta_1$, тут очевидно, при выборе первого попавшегося отрицательного элемента строки функционала, можно использовать правило Бленда, т.е. выбирать строку с минимальным номером, и это предотвратит зацикливание.
Вариант 2 - есть несколько строк с равными $\theta_2$. Можно ли и в этом случае применять правило Бленда?
Вариант 3 - $\theta_1=\theta_2$, и возможно есть несколько таких строк.
Вариант 4 - $\theta_1$ или $\theta_2$ равны $u_j$. Тут тоже возникают альтернативные варианты действий ...

В самой методичке сказано, что при равенстве $\theta_1$, $\theta_2$, $u_j$ выбор может быть произволен, и предпочтительно выбирать $u_j$, так как при этом меньше вычислений. Но ничего не сказано о возможном зацикливании. Ведь насколько я понимаю, все эти альтернативные варианты приведут к одинаковому изменению функционала, и следовательно, зацикливание возможно.

Можно ли все альтернативные строки, независимо от вида критерия расположить по порядку и выбирать из них строку с наименьшим номером, как это делается в правиле Бленда?
Если можно, то как тогда быть с $\theta_1=u_j$, ведь для критерия $u_j$ план не меняется а значение вводимой переменной переводится к её противоположной границе. Тут вообще нет номера разрешающей строки. Может в этом случае принять что этот номер равен нулю?

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: vicvolf


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group