Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чис_мет_3.doc
Скачиваний:
46
Добавлен:
13.11.2019
Размер:
1.34 Mб
Скачать

3.2.7. Задания для лабораторной работы

Решить задачи выпуклого программирования :

  1. Найти минимум функции f0(X)=x12+x22-4x1-2x2+5 при ограничениях f1(X)=-x1+2x2 1; f2(X)=0,25x12+x22 1; 0

  2. Найти минимум функции f0(X)=x12+x22-16x1-10x2+89 при ограничениях f1(X)=2x12-12x1+9x2 ;f2(X)=5x12-16x2-80 ;

  3. Найти минимум функции f0(X)=x12+x22-14x1-4x2+53 при ограничениях f1(X)=2x12+25x2 125; f2(X)=x12-2x1-4x2 3; 0 .

  4. Найти минимум функции f0(X)=x12+9x22-10x1-18x2+34 при ограничениях f1(X)=x1+x2 5; f2(X)=0.5x12-x2 4.5; 0 .

  5. Найти минимум функции f0(X)=x12+4x22-10x1-16x2+41 при ограничениях f1(X)=x12-4x1+x2 1; f2(X)=x12-4x1-3x2 -3; 0 .

  6. Найти минимум функции f0(X)=x12+4x22-8x1-16x2+32 при ограничениях f1(X)=-x1+x2 1; f2(X)=2x12-4x1-x2 -1; 0 .

  7. Найти минимум функции f0(X)=x12+9x22-10x1-36x2+61 при ограничениях f1(X)=x12-4x1+4x2 12; f2(X)=3x12-7x2 27; 0 .

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

Рассмотрим задачу условной оптимизации

min {f(X) | XR}, (3.18)

где R={XEn: gi(X)0, i=1,…,m} – допустимая область. Решить задачу (3.18) при условии непрерывной дифференцируемости функций f(X), gi(X) можно методом штрафных функций или одним из градиентных методов, например, методом условного градиента или методом проекции градиента. Однако на практике, когда определение градиента функции f(X) затруднительно или велика размерность задачи (n и m  большие числа), предпочтение отдается методу случайного поиска.

Под названием метода случайного поиска объединяется большая группа поисковых методов, в которых для решения задачи (3.18) строится минимизирующая последовательность {Xk} из En по правилу

Xk+1= Xk+ kk, k=0,1,2,…, (3.19)

где k0 – величина шага в случайном направлении k; k=(1k,…, nk) – какая-либо реализация n–мерного случайного вектора  с известным законом распределения. Рекомендуется в качестве координат i случайного вектора  выбирать независимые случайные величины, распределенные равномерно на отрезке [-1;1]. Таким образом, метод случайного поиска предполагает наличие датчика случайных чисел, обращаясь к которому можно получить реализацию случайного вектора  с заданным законом распределения.

В данной лабораторной работе предлагается изучить основные, наиболее употребительные варианты метода случайного поиска минимума функции f(X) на множестве REn.

3.3.1. Поиск с возвратом при неудачном шаге

Этот алгоритм является простейшей реализацией метода случайного поиска. Смысл его заключается в следующем. Пусть задано некоторое начальное приближение X0R. Допустим, что нам уже известна точка XkR, k0. С помощью датчика случайных чисел получим какую-либо реализацию случайного вектора k и в этом направлении по правилу (3.19) найдем точку

X= Xk+ k, (3.20)

где 0 – некоторое заданное начальное значение шага. Полученная точка X в общем случае может не удовлетворять ограничениям, задающим допустимую область R, то есть может оказаться, что XR. Тогда величину шага следует уменьшить, положив  01, и найти новую точку X по формуле (3.20) при новом значении . Описанную процедуру дробления шага повторить до тех пор, пока не выполнится условие XR. Если же этого добиться не удается вплоть до малого значения k, то выбранное случайное направление k следует считать неудачным. Также неудачным считается шаг, если условие XR выполняется, но значение функции при этом не уменьшается, т.е. f(X)f(Xk). Тогда следует возвратиться в исходное состояние, положив Xk+1=Xk и совершить новый шаг во вновь сформированном направлении. Если окажется, что количество неудачных шагов из точки Xk, не приводящих к уменьшению минимизируемой функции f(X), достаточно велико, то «неулучшаемая» точка Xk может быть принята в качестве точки минимума функции f(X) в R, т.е. критерием прекращения поиска может служить выполнение соотношений

Xk=Xk+1=…=Xk+N (3.21)

при достаточно большом N.

Если сделанный из точки Xk шаг удачен, т.е. если найденная по формуле (3.20) точка XR и при этом выполняется условие f(X)f(Xk), то полученная точка X принимается за очередную точку минимизирующей последовательности, т.е. полагаем Xk+1=X и переходим к выполнению следующего этапа поиска, повторяя описанные операции в новой точке Xk+1.

Для улучшения сходимости итерационного процесса рекомендуется уменьшать начальное значение величины шага в каждой итерации по правилу k+1k  01.

В описанном варианте метода случайного поиска величины 0, ,  являются параметрами алгоритма, удачный выбор которых существенно влияет на его эффективность.