Информация об изменениях

Сообщение Re: Помогите с решением оптимизационной задачи от 29.03.2016 20:06

Изменено 29.03.2016 20:08 Lexey

Здравствуйте, gzhernov, Вы писали:

G>Вам нужно купить N галлонов вина.


G>Вино продается у ряда продавцов, у каждого свои условия:


G>цена за галлон

G>доступное к продаже количество галлонов
G>минимальная партия
G>размер инкремента партии закупки (кто-то продает по одной бутылке, а кто-то только вагонами)
G>Цель: потратив минимальное количество денег, приобрести необходимое число галлонов вина.

Похоже на типичную задачу целочисленного линейного программирования. Для них есть готовые солверы (например, SCIP).
Нужно только правильно систему ограничений и оптимизируемый функционал написать.
У меня еще есть своя реализация простенького ILP-солвера на C#, могу поделиться, если будет интерес. Но до SCIPа ему как до Луны.
Re: Помогите с решением оптимизационной задачи
Здравствуйте, gzhernov, Вы писали:

G>Вам нужно купить N галлонов вина.


G>Вино продается у ряда продавцов, у каждого свои условия:


G>цена за галлон

G>доступное к продаже количество галлонов
G>минимальная партия
G>размер инкремента партии закупки (кто-то продает по одной бутылке, а кто-то только вагонами)
G>Цель: потратив минимальное количество денег, приобрести необходимое число галлонов вина.

Похоже на типичную задачу целочисленного линейного программирования (ILP = Integer Linear Programming). Для них есть готовые солверы (например, SCIP).
Нужно только правильно систему ограничений и оптимизируемый функционал написать.
У меня еще есть своя реализация простенького ILP-солвера на C#, могу поделиться, если будет интерес. Но до SCIPа ему как до Луны.