Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭУМК ООМ.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
3.36 Mб
Скачать

Лабораторная работа n 4

Методы нелинейного программирования.

Цель работы: Изучить наиболее часто используемые на практике методы поиска безусловного минимума функции одной переменной Y=f(x) и получить навыки их программной реализации.

Задача ставится следующим образом: требуется найти Xm, при котором достигается локальный минимум Ym=f(Xm),т.е. для любого х из некоторой e окрестности E={X,ABS(X-Xm) <e} выполняется Fm < f(x).

Представить и защитить отчет, который включает:

1. График, выбранной функции.

2. Блок-схему алгоритма выбранного метода.

3. Программу на языке Паскаль, таблицу результатов.

Программа должна содержать:

1) подпрограмму вычисления минимизируемой функции;

2) подпрограмму для метода нахождения минимума с формальными параметрами (имя оптимизируемой функции, начальные значения (Х0,h) точность e, значение полученного минимума Ym и его положение Xm), предусмотреть возможность выдачи промежуточных значений Xi, Yi;

3) задание исходных данных, печать Xm, Ym.

Варианты заданий

Найти min F(x): e=0.01 - 0,0001; X0 в интервале (a,b), h=.01 – 1

N

Минимизируемая функция

[ a, b ]

1.

Y=(x3 + 4sinx)

[ -5, 10 ]

2.

Y=ex - 6x - 3

[ -1, 7 ]

3.

Y=3x + cosx +1

[ -2, 5 ]

4.

Y= x3 + sinx - 12x +1

[ -7, 7 ]

5.

Y= x2 - cos2 pi(x)

[ -3, 3 ]

6.

Y= (x - 1)3 + 0,5ex

[ -4, 4 ]

7.

Y=0,1ex - sin2x + 0,5

[ -2, 2 ]

8.

Y= sin (x2 + x + 1)

[ -3, 3 ]

9.

Y= x sinx/2 -1

[ -2, 2 ]

10.

Y= x + ln(x +0,5) - 0,5

[ 0, 2 ]

11.

Y=(2sin22x)/3 - (3cos22x)/4

[ 0, 2 ]

12.

Y=(4 + x2)(ex - e-x)

[ 1, 4 ]

13.

Y=x2-1,3ln(x+0,5)-2,8x+1,15

[ 1, 4 ]

14.

Y= 1,8x4 - sin10x

[-0,5, 2 ]

15.

Y= sinx - 1/x

[-pi, pi ]

Метод равномерного поиска

Метод основан на том, что переменной Х присваивается значение X+dX с шагом dX=h, вычисляют значения F(X) и F(x+1), сравнивают их и если F(X+1)<F(X), переменной X дается новое приращение. Как только F(Xn+1) станет больше F(Xn), поиск останавливается.

При малой погрешности вычислений метод неэкономичен по времени.

Метод поразрядного приближения

Является разновидностью метода равномерного поиска, его

алгоритм:

1. Задаем начальное значение X=X0, начальный шаг поиска h=D,

погрешность вычислений результата e=Е и вычисляем F(X0).

2. Полагаем G=F(Xn), где вначале F(Xn)=F(X0), задаем X=X-D и

вычисляем F(Xn+1)=F(X).

3. Проверяем условие F(Xn+1) < G, если оно выполняется, идем к

п. 2, нет - к п. 4.

4. Полагаем D=-D/4.

5. Проверяем условие ABS(D) > Е/4. Если оно выполняется, идем к п.2, т.е. обеспечиваем поиск минимума в другом направлении с шагом в 4 раза меньше прежнего. Если данное условие не выполняется заканчиваем счет.

6. Выводим на печать Хм и вычисляем F(Хm).

Пример.

Найти минимум функции F(X)= 0.1X3-2X2+10X.

Дано: X0=2, D=1, e=0.001

Ответ: Xm=0,66706875,

F(Xm)=10,81481312

Программа

10 print "Поиск минимума F(x) методом поразрядного приближения"

15 input "Задайте начальное значение Х0, начальный шаг поиска D, погрешность вычислений результата e"; X, D, Е

20 gosub 60

25 G=F; X=X-D

30 gosub 60

35 if F<G then 25

40 D=-D/4

45 if ABS(D) > E/4 then 25

50 print "Xm=" X; print "F(Xm)=" F

55 End

60 F=((.1*x-2)*x+10)*x

65 Return

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]