Сообщение 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а ему как до Луны.
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а ему как до Луны.
G>Вам нужно купить N галлонов вина.
G>Вино продается у ряда продавцов, у каждого свои условия:
G>цена за галлон
G>доступное к продаже количество галлонов
G>минимальная партия
G>размер инкремента партии закупки (кто-то продает по одной бутылке, а кто-то только вагонами)
G>Цель: потратив минимальное количество денег, приобрести необходимое число галлонов вина.
Похоже на типичную задачу целочисленного линейного программирования (ILP = Integer Linear Programming). Для них есть готовые солверы (например, SCIP).
Нужно только правильно систему ограничений и оптимизируемый функционал написать.
У меня еще есть своя реализация простенького ILP-солвера на C#, могу поделиться, если будет интерес. Но до SCIPа ему как до Луны.