Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и КГ_2014.doc
Скачиваний:
65
Добавлен:
26.03.2015
Размер:
4.44 Mб
Скачать

22. Методы оптимизации

Задачу оптимизации в общем виде можно сформулировать так: определить значения входных параметров x1, x2, , xn некоторого процесса, которые обеспечивают максимум или минимум целевой функции f(x1, x2,, xn), характеризующей показатели процесса, и удовлетворяют ограничениям, если они присутствуют.

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.

22.2. Метод случайного поиска

Рассмотрим применение метода случайного поиска для оптимизации процесса на примере, приведенном выше. Идея метода основана на многократном (N раз) вычислении целевой функции y для значений x1 и x2, выбранных из отрезков [a1, b1] и [a2, b2] случайным образом. Те значения x1 и x2, при которых целевая функция минимальна и удовлетворяются ограничения и являются решением.

Для определения случайного числа x на отрезке [a, b] можно использовать встроенную функцию Rnd. Тогда x = (ba) Rnd(1) + a.

Алгоритм метода случайного поиска:

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

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

3. i = 1.

4. Вычисление x1 = (b1 – a1) Rnd(1) + a1, x2 = (b2 – a2) Rnd(1) + + a2.

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

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

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

8. i = i + 1.

9. Если i <= N, то переход к п. 4, иначе – переход к п. 10.

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