В общем случае гуглить - многомерная оптимизация (у тебя всего 4 показателя да еще и значения на известных границах - лафа, это визуализировать проще)
Если собираемые показания с шумом, то с ними бороться можно только повышением количества сбора показаний (вычислений)
Процесс творческий.
К сожалению не существует универсального алгоритма, выше автор дал скрин (срез по 3 показателям, мог бы цветом четвертый визуализировать) очень неудачная функция, большое плато искать на нем минимум - грустно, и все способы крутятся вокруг поиска дополнительной информации о функции.
Как вариант можно попробовать поискать способ упрощения (ускорения вычислений), но это зависит от них самих, например если итоговое значение функции - сумма большого количества внутренних непоследовательных шагов, которые можно пропускать или менять порядок, то можно в качестве промежуточных результатов использовать приблизительное решение, использующее меньшее количество этих шагов, выбранных случайно, а точнее таким способом, чтобы среднее отличие этой упрощенной оценки не отличалось от настоящей.
Так же можно изучать изменение этих промежуточных шагов, из которых вычисляется итоговое значение, как их значение меняется от изменения критериев по отдельности.
Один из простых методов многомерной оптимизации состоит в построении матрицы якобиана, вычисления производной по изменению каждого критерия на минимальный шаг, так вот такую же матрицу можно строить и по этим внутренним шагам, они покажут какой именно критерий в каком случае имеет большее значение а значит его изменение будет иметь большее значение чем пытаться полностью пересчитывать для функцию для каждого критерия
p.s. можно к функции добавить усложнение, которое ведет себя более ярко выраженно в исследуемых точках, грубо говоря 1/(f(x)-a) будет сильнее меняться для значений первоначальной функции рядом с точкой a (осторожно с делением на 0, в этой точке такой подход даст неопределенный результат и для него может понадобиться пересчет), т.е. там где сама функция похоже на плато, возведением в отрицательную степень максимизирует незначительные движения и может помочь найти разницу
upd. посмотри weka, фреймворк написан на java, есть gui, как для выбора алгоритмов так и по визуализации (слабоват), как отправная точка для поиска алгоритмов чтобы и и посмотреть что есть и попробовать, что не понятно, вбиваешь название алгоритма в гугл и ищешь подробности