2014 dxdy logo

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

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




 
 Interior point method vs Simplex method
Сообщение13.12.2017, 15:26 
Только недавно узнал о существовании Interior point method для решения задач линейного программирования, который помимо прочего обладает полиномиальной сложностью и эффективно реализуем на практике. В связи с чем вопрос - почему тогда до сих пор не отказались от симлекс-метода?

 
 
 
 Re: Interior point method vs Simplex method
Сообщение13.12.2017, 15:31 
Аватара пользователя
Хорошо работает потому что.
Не в полиномиальности счастье ;)

 
 
 
 Re: Interior point method vs Simplex method
Сообщение13.12.2017, 15:59 
пианист в сообщении #1274621 писал(а):
Не в полиномиальности счастье ;)

"Ты что с ума сошел? А в чем же еще!" (с) Карлсон :)

 
 
 
 Re: Interior point method vs Simplex method
Сообщение13.12.2017, 17:19 
Аватара пользователя

(Оффтоп)

Символично, кстати, что в оригинале этой фразы нет (и сцены), она есть только в мульте.

 
 
 
 Re: Interior point method vs Simplex method
Сообщение14.12.2017, 01:14 
Одна из причин - частично-целочисленное линейное программирование. Там больших задач не порешаешь, и симплекс-метод вписывается лучше в алгоритм ветвей, границ и отсечений. Дело, видимо, не только в базисах, с которых стартуют "узлы", но и в возможностях по эвристикам и отсечениям.

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

В свое время находил тестовую библиотеку больших mps-файлов (помню, один из них был точно больше гигабайта) и пробовал их на решателях CBC, GLPK, CPLEX (выбирал метод внутренней точки). В CPLEX, по-моему, метод назывался "барьерных функций". Но, не суть, CPLEX порвал самую большую задачу как тузик грелку. Бесплатные не справились. Задачи по-проще, CBC решал заметно лучше GLPK, но значительно хуже CPLEX.

Также сравнивал симплекс метод и метод внутренней точки для CBC и CPLEX. Для CBC особых различий между решением симплекс-методом и методом внутренней точки обнаружено не было, в CPLEX на больших задачах метод внутренней точки существо был лучше.

Наверняка есть обзоры на эту тему, а бесплатные продукты можно попробовать на тестовых задачах.

 
 
 
 Re: Interior point method vs Simplex method
Сообщение20.12.2017, 09:11 
Аватара пользователя
Потому, что на реальных задачах симплекс-метод работает быстрее. Его "неполиномиальность" состоит в том, что существуют весьма вычурные задачи, в которых время работы экспоненциально. Но они на практике и не встречаются.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group