Я - новичок для целочисленного линейного программирования. Я планирую использовать целочисленный линейный решатель программирования для решения моей комбинаторной проблемы оптимизации. Я более знаком с C++ / объектно-ориентированное программирование на IDE. Теперь я использую NetBeans с Cygwin для записи моих приложений большую часть времени.
Я могу спросить, существует ли легкое использование решатель ILP для меня? Или это зависит от проблемы, которую я хочу решить? Я пытаюсь сделать некоторые ресурсы, отображающие оптимизацию. Сообщите мне, запрашивается ли дальнейшая информация.
Большое спасибо, Cassie.
Если вам нужно линейное смешанное целочисленное программирование, я бы указал на Coin-OR (и, в частности, на модуль CBC). Это бесплатное программное обеспечение (в виде речи) Вы можете использовать его с определенным языком или использовать C ++.
Используйте C ++, если ваши данные требуют большой предварительной обработки, или если вы хотите вложить свои силы в решатель (выбор точек поворота, генерация столбцов, добавление разрезов и т. Д.).
Используйте интегрированный язык, если вы хотите использовать решатель как черный ящик (вас просто интересует результат, а задача достаточно проста или классична, чтобы ее можно было решить без настройки).
Но в тегах вы упоминаете генетические алгоритмы и алгоритмы графов. Может быть, вам стоит начать с лучшего определения вашей проблемы ... Мне очень нравятся графики Boost :: Graph
Для больших задач вы можете рассмотреть AMPL, который является интерпретатором оптимизации со многими внутренними решателями. Он работает как отдельный процесс; для записи входных данных используется C++.
Затем вы могли бы попробовать различные современные решатели.
Линейное программирование из Википедии охватывает несколько различных алгоритмов, в которых вы могли бы немного покопаться, чтобы увидеть, какой из них лучше всего подходит для вас. Это помогает или вам нужно что-то более конкретное?