logo search
Информатика и КГ_2014

22.1. Метод сканирования

Рассмотрим использование метода сканирования на примере для оптимизации процесса, имеющего два входных параметра x1, x2 и выходной параметр – y . Пусть требуется определить оптимальные значения x1 и x2, которые обеспечивали бы минимум целевой функции

y = f(x1, x2)

и удовлетворяли ограничениям:

a1 <= x1 <= b1, a2 <= x2 <= b2

g(x1, x2) > 0

(последнее ограничение может отсутствовать).

Метод сканирования заключается в нахождении значений x1 из интервала [a1, b1], начиная с a1 и до b1 с шагом h1 и определении значений x2 из интервала [a2, b2], начиная с a2 и до b2 с шагом h2. Для всех значений x1 и x2, удовлетворяющих ограничениям g(x1, x2) > 0, нужно вычислить значения целевой функции y = f(x1, x2).

Те значения x1 и x2, для которых значение целевой функции минимально, являются искомым решением.

Рассмотрим алгоритм метода сканирования:

1. Ввод исходных данных: a1, b1, h1, a2, b2, h2 и некоторого числа A, заведомо большего, чем значение целевой функции.

2. Вычисление yopt = A, x1opt = a1, x2opt = a2.

3. x1 = a1

4. x2 = a2

5. Проверка ограничения: если ограничение не выполняется, т. е. g(x1, x2) <= 0, то переход к п. 8, иначе – переход к следующему пункту.

6. Вычисление целевой функции y = f(x1, x2).

7. Если y < yopt, то yopt = y, x1opt = x1, x2opt = x2 , иначе – переход к следующему пункту.

8. Вычисление x2 = x2 + h2.

9. Если x2 <= b2, то переход к п. 5, иначе – переход к следующему пункту.

10. Вычисление x1 = x1 + h1.

11. Если x1 <= b1, то переход к п. 4, иначе – переход к следующему пункту.

12. Вывод оптимальных значений x1opt, x2opt и минимального значения целевой функции yopt.