Ограничение по умолчанию, предоставляемое Matlab, не подойдет для Ваших нужд.
Вы можете попытаться перевести Ваши ограничения и добавить условие штрафа, например:
goalfunction value = Inf if conditions are not fulfilled
Но это не поможет найти оптимальный вариант, так каково мое решение
Вы также можете попытаться перевести проблему, и вместо того, чтобы найти Ваши значения, просто найдите это:
b(1), b(2), ... b(n), where bi = a(i)-a(i-1) and b(i) > 0 for each i
Таким образом, вы найдете только расстояния между каждой из ваших начальных переменных, и при условии, что они положительны, вы найдете монотонно увеличивающуюся последовательность, и это то, что вам нужно. Скажи мне, если Тебя это устраивает.
PS. Ограничения в оптимизации - это отличная вещь, и не всегда просто понять, как мы будем переводить каждое ограничение реального мира в aX > b
:)