Рассмотрим задачу Ф® = min. Выберем произвольно точку с0 и спустимся вниз из нее (например, по координатам), делая не очень много шагов, т. е. не требуя высокой точности сходимости. Конечную точку спуска обозначим r0. Если рельеф овражный, эта точка окажется вблизи дна оврага (рис. 3.5).
Рис. 3.5.
Теперь выберем другую точку с1 не слишком далеко от первой. Из нее также сделаем спуск и попадем в некоторую точку r1. Эта точка тоже лежит вблизи дна оврага. Проведем через точки r0 и r1 на дне оврага прямую — приблизительную линию дна оврага, передвинемся по этой линии в сторону убывания функции и выберем новую точку.
с2 = r1 (r1 r0)h, (3.11).
h = const 0.
В формуле (3.11) выбирается плюс, если Ф (r1) (r0), и минус в обратном случае, так что движение направлено в сторону понижения дна оврага. Величина h называется овражным шагом и для каждой функции подбирается в ходе расчета.
Дно оврага не является отрезком прямой, поэтому точка с2на самом деле лежит не на дне оврага, а на склоне. Из этой точки снова спустимся на дно и попадем в некоторую точку r2. Затем соединим точки r1и r2 прямой, наметим новую линию дна оврага и сделем новый шаг по оврагу. Продолжим процесс до тех пор, пока знаения функции на дне оврага, т. е. в точках rn, убывают. В случае, когда Ф (rn+1)Ф (rn), процесс надо прекратить и значение rn+1не использовать.
Метод оврагов рассчитан на то, чтобы пройти вдоль оврага и выйти к котловину около минимума. В этой котловине значения минимума лучше уточнять другими методами.
Методом оврагов удается находить минимумы достаточно сложных функций от 5−10 переменных. Но этот метод довольно капризен. Для каждой функции приходится подбирать свой овражный шаг, визуально наблюдать за ходом расчета и вносить коррективы. Программирование этого метода на ЭВМ несложно[2].