
- •Учреждение образования белорусский государственный университет информатики и электроники
- •Рабочая программа
- •Тема 9. Применение нелинейного программирования в задачах организации и планирования связи.
- •Тема 10. Динамическое программирование в электросвязи.
- •Тема 11. Сетевые методы планирования и управления.
- •I. Основы оптимизации управленческих решений
- •II. Использование методов линейного программирования в задачах связи
- •III. Транспортная задача линейного программирования в задачах связи
- •IV. Использование методов линейного программирования дня построения графиков работы на предприятиях связи
- •V. Нелинейное програмирование. Одномерный поиск.
- •VI. Методы многомерного поиска
- •VII динамическое программирование
- •Лабораторная работа n 4
- •Метод равномерного поиска
- •Метод поразрядного приближения
- •Метод последовательного перебора
- •Поиск минимума функции одной переменной методом квадратичной параболы
- •Минимизация функции методом Квадратичной интерполяции-экстраполяции
- •Метод пауэлла
- •Литература.
- •3.Построение опорного плана
- •3.1. Метод северо-западного угла.
- •3. 2. Метод наименьшей стоимости.
- •3.3. Метод Фогеля.
- •4.Оптимизация задачи методом потенциалов.
- •Для всех пустых клеток проверим критерий оптимальности:
- •Литература.
Лабораторная работа 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