2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Выбор метода решения транспортной задачи
Сообщение28.01.2020, 09:40 


28/01/20
1
Добрый день!
Какой из методов (симплекс, двойственное симплекс, метод внутренней точки, метод потенциалов, другие методы) эффективнее при решении ЗЛП произвольного размера, с количеством переменных 1млн+
Как мне видится, это просто симплекс. Но не понимаю в чем отличие например метода потенциалов от двоейственного или метода внутренней точки.

 Профиль  
                  
 
 Re: Выбор метода решения транспортной задачи
Сообщение27.02.2020, 23:38 


07/10/15

2400
Grantorino в сообщении #1437241 писал(а):
Но не понимаю в чем отличие например метода потенциалов от двоейственного или метода внутренней точки

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

 Профиль  
                  
 
 Re: Выбор метода решения транспортной задачи
Сообщение28.02.2020, 12:09 


16/08/05
1153
Думается, сегодня надо не метод выбирать, а солвер из числа существующих, в которых все возможные методы уже реализованы. Если под задачу есть соответствующий бюджет, то выбрать один из коммерческих Gurobi/Cplex/Xpress/SAS (имхо, Гуроби из которых самый эффективный на сегодня). Если бюджета нет, то выбрать один из свободных солверов SCIP/CBC/Lpsolve. Самостоятельно повторить эффективный симплекс в своём коде - задача на пол-жизни, безсмысленно это. Плюс выбрать язык мат-моделирования и соответствующий пакет: коммерческие AMPL/IBM_Cplex_Studio/SAS/Xpress, свободные MiniZinc/Google_OR-Tools/SCIP. У большинства солверов есть Python-API, т.е. в качестве языка мат-моделирования можно выбрать Python.

Andrey_Kireew в сообщении #1441901 писал(а):
... полиномиальную сложность. У симплекс метода она экспоненциальная...

Это не однозначно. Считается, что симплекс экспоненциален в самом худшем случае, когда мат-модель примитивная и не повезло с seed-параметром солвера. В остальных случаях симплекс как минимум суб-экспоненциален, и как максимум полиномиален. Показателен прошедший недавно Kaggle-конкурс Santa 2019 с 3.5 млн переменных. Лидеры получали глобальный оптимум шлифовкой мат-модели для коммерческих солверов. Вроде бы ни кто на свободных солверах или своём коде не попал в лидеры.

 Профиль  
                  
 
 Re: Выбор метода решения транспортной задачи
Сообщение28.02.2020, 15:20 


07/10/15

2400
dmd в сообщении #1441994 писал(а):
Считается, что симплекс экспоненциален в самом худшем случае, когда мат-модель примитивная и не повезло с seed-параметром солвера. В остальных случаях симплекс как минимум суб-экспоненциален, и как максимум полиномиален

Не понимаю, какой смысл Вы вкладываете в понятие "примитивная модель"? Модель определяется конкретной задачей, она такая - какая есть. Проблемы, связанные с некорректной формулировкой задачи связывать с недостатками метода оптимизации, не совсем уместно.

В целом да, экспоненциальная сложность - это самый худший случай, но и полиномиальная - практически недостижима. Обычно, что то по середине и на больших задачах метод внутренней точки гарантированно выигрывает (большая задача - это несколько тыс. ограничений и более). Лично у меня, на числе 5000 тыс. симплекс уже начинает "захлёбываться", и затем его сложность растёт катастрофически. Это методическая проблема, она не решается оптимизацией кода и наращиванием вычислительной мощности. Да, число переменных, действительно, влияет не так сильно, хотя цифра 3,5 млн. впечатляет.

К стати Grantorino, если число ограничений намного больше числа переменных, имеет смысл перейти к двойственной задаче, в которой переменные и ограничения меняются местами.

 Профиль  
                  
 
 Re: Выбор метода решения транспортной задачи
Сообщение29.02.2020, 19:21 


16/04/19
161
Какие-то тесты гуглятся: http://plato.asu.edu/bench.html

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

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



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

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


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

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