Связанные ограничения

Нижние и верхние границы ограничивают компоненты решения x.

Если вы знаете границы на местоположении оптимума, можно получить более быстрые и более надежные решения явным образом включая эти границы в формулировке задачи.

Дайте границы как векторы с той же длиной как x, или как матрицы с тем же числом элементов как x.

  • Если конкретный компонент не имеет никакой нижней границы, используйте -Inf как связанное; точно так же используйте Inf если компонент не имеет никакой верхней границы.

  • Если у вас есть только границы одного типа (верхний или ниже), вы не должны писать другой тип. Например, если у вас нет верхних границ, вы не должны предоставлять вектор Infs.

  • Если только первый m из компонентов n имеет границы, то вы должны только предоставить вектор длины m, содержащий границы. Однако этот ярлык заставляет решатели выдавать предупреждение.

Например, предположите, что ваши границы:

x 3 ≥ 8
x 2 ≤ 3.

Запишите ограничительные векторы как

l = [-Inf; -Inf; 8]
u = [Inf; 3] (выдает предупреждение), или u = [Inf; 3; Inf].

Совет

Используйте Inf или -Inf вместо большого, произвольного, обязанного понизить скорость решателя использования памяти и увеличения. Смотрите Использование Inf Вместо Большого, Связанного Произвольного.

Вы не должны давать градиенты для связанных ограничений; решатели вычисляют их автоматически. Границы не влияют на Гессианы.

Для более комплексного примера границ смотрите Настроенный Линейная Программа, Основанная на решателе.

Похожие темы