Нижние и верхние границы ограничивают компоненты решения x.
Если вы знаете границы на местоположении оптимума, можно получить более быстрые и более надежные решения явным образом включая эти границы в формулировке задачи.
Дайте границы как векторы с той же длиной как x, или как матрицы с тем же числом элементов как x.
Если конкретный компонент не имеет никакой нижней границы, используйте -Inf
как связанное; точно так же используйте Inf
если компонент не имеет никакой верхней границы.
Если у вас есть только границы одного типа (верхний или ниже), вы не должны писать другой тип. Например, если у вас нет верхних границ, вы не должны предоставлять вектор Inf
s.
Если только первый m из компонентов n имеет границы, то вы должны только предоставить вектор длины m, содержащий границы. Однако этот ярлык заставляет решатели выдавать предупреждение.
Например, предположите, что ваши границы:
x 3 ≥ 8
x 2 ≤ 3.
l = [-Inf; -Inf; 8]
u = [Inf; 3]
(выдает предупреждение), или u = [Inf; 3; Inf]
.
Используйте Inf
или -Inf
вместо большого, произвольного, обязанного понизить скорость решателя использования памяти и увеличения. Смотрите Использование Inf Вместо Большого, Связанного Произвольного.
Вы не должны давать градиенты для связанных ограничений; решатели вычисляют их автоматически. Границы не влияют на Гессианы.
Для более комплексного примера границ смотрите Настроенный Линейная Программа, Основанная на решателе.