Бинарные ограничения Excel Solver (Simplex LP)

Я решаю проблему оптимизации. проблема имеет бинарные ограничения. решатель (во время итерации) устанавливает эти двоичные ограничения в десятичные числа от 0 до 1 (аппроксимируя поиск по градиенту). Я хочу указать решателю, что он должен просто искать по разрывным значениям 0..1.

Есть ли способ сделать это?

В качестве альтернативы, есть ли в OpenSolver алгоритм, который делает это, имитирует симплекс-lp и обеспечивает глобальный оптимум?

самый дешевый способ сделать это - исправить цикл for и перебрать значения. Мне было интересно, есть ли способ сформулировать это так, чтобы нелинейная задача стала линейной.

Благодарю.

1 ответ

Методы GRG Nonlinear и Simplex LP используют метод Branch & Bound, когда сталкиваются с целочисленными ограничениями. Этот метод сначала "ослабляет" целочисленное требование, находит решение, затем фиксирует одно из ограничений на целое и находит новое решение. Смотрите онлайн-документацию Solver.

Это метод поиска методом грубой силы, который может занять значительное время.

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

Вы спрашиваете о линеаризации нелинейной задачи - вам нужно предоставить более конкретную информацию, чтобы ответить на этот вопрос (например, каково ваше уравнение? Как вы задали решающую проблему? И т. Д.)

Другие вопросы по тегам