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 сообщение ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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