Имеется вектор

действительных чисел длиной

.
![$x[i] > x[i-1]$ $x[i] > x[i-1]$](https://dxdy-01.korotkov.co.uk/f/0/7/8/0781fa372af169235d4569b675de2f0282.png)
. Можно дополнить условием
![$x[i] > 0$ $x[i] > 0$](https://dxdy-04.korotkov.co.uk/f/3/a/2/3a2b29050c2e7b1ddb1a4216c9b444e882.png)
если это чем то поможет. Нужно придумать скалярную функцию

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

максимальна для вектора 5, 10, 15 , 20, 25, 30. Число кучек зададим две. Для 7, 10, 12.3 , 23, 25, 28 значение

уже меньше, поскольку значения сбиваются в две кучки. Для 10, 10, 10 , 24, 24, 24 значение

равно нулю. Как и для 11, 11, 20 , 20, 20, 20 и многих других вариантов. Я пробовал следующий вариант. Для простоты обозначу разницы соседних компонент буквами


Функция отлично работает для двух кучек. Для трех кучек нужно уже три умножения

и т.д. То есть, если

, для двух кучек число слагаемых равно

. Для трех куч число слагаемых равно

Проблема в том, что

у меня 100 а кучек 30. И число слагаемых будет приблизительно 70 в 30й степени.
Функция используется как стабилизирующий функционал в регуляризации Тихонова. Не знаю на сколько мой вариант удовлетворяет условию выпуклости, но работает как надо. Оптимизация выполняется градиентным методом, поэтому функция должна быть везде дифференцируема.