Delphist2008
Новичок
|
Скажите, пожалуйста, есть ли на сегодняшний день методики (алгоритмы), которые позволяют определить те ограниечение, которые мешают найти оптимум целевой функции через симплекс методом. Теперь попытаюсь объяснить на примере т.е., например, есть целевая функция: F = 104*X1 + 85*X2 +49 X3 -> min; Есть ограничения (требования пользователя): 50 <= 58.05*X1 + 83.16*X2 +34.56*X3 <= 59; 18*X1 + 20.9*X3 >= 12; 16*X1 + 0.023*С2 + 40.1*X3 <= 38; X1 >= 0.06; X1 + X2 + X3 = 1; Поиск X1, X2, X3 осуществляется через симплекс метод (алгоритм его у меня реализован в пакете линейного программирования lpsolve - его часто используют прикладные программисты в своих программах для решения линейных задач симплекс методом). Проблема такая, когда пользователь задает граничные условия, у меня в данном примере это: 1) 50 <=, <= 59; 2) >= 12; 3) <= 38; 4) >= 0.06; 5) = 1; то может получиться так, что решение задачи (найти X1, X2, X3) не удается выполнить симплекс методом т.к., невозможно выполнить требования ограничений. Так вот хотелось каким-то образом узнавать и выдавать пользователю программы в виде сообщения какой-же показател(ь,и) (ограничени(е,я)) является лимитирующим т.е. из-за какого показателя возникают у симплекс метода проблемы с поиском решения. Как это сделать?
|