Laba8

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
Московский Государственный Университет Пищевых Производств


Кафедра «АСВТ»

Лабораторная работа №8
«Oптимизация технологического процесса»




Выполнил: Клевцов Григорий
Группа: 11-ТПМ-7
Преподаватель: Колесникова К.А.



«Москва 2011»
Задание
Уравнение f(x)=0
Интервал сущ.
корня
Точность

Y=-2.5*X^2+4*X-7
[0;4]
10^3

Цель работы
Найти оптимальное значение функции y двумя способами: методом «золотого сечения» и методом «половинного деления».
Теоретические сведения
Постановка задачи
На практике часто возникает задача нахождения экстремума некоторой целевой функции F(x). Такая функция одного параметра x описывает некоторую кривую на плоскости.
На определённом интервале функция может иметь одно (рис. 1а) или несколько экстремальных значений (рис. 1б).
Функция, изображённая на рис. 1а называется унимодальной.

Функции одного параметра x описывающие некоторую кривую на плоскости.
Функция на рис. 1б имеет несколько экстремумов (максимумов или минимумов). Из них главный (оптимальное решение для рассматриваемого интервала) называется глобальным.
Унимодальная функция не обязательно должна быть гладкой (рис. 2 а), она может быть ломаной (рис. 2б), разрывной (рис. 2в).

13 SHAPE \* MERGEFORMAT 1415
Рис. 2. Унимодальные функции
Рассматриваемые методы справедливы для функций на рисунке 2а, а для функций на рисунках 2б, 2в могут использоваться на отдельных интервалах.
Если целевая функция унимодальная, то можно сузить интервал исследования функции на оптимум путём определения значений целевой функции в двух точках интервала задания функций F(x1) и F(x2) и последующего поинтервального сравнения. При этом возможны три случая (рис. 3):
1) если F(x1) > F(x2),то xопт < x2, т.е. оптимум не может находиться правее, интервал [x2 , x] из дальнейшего рассмотрения исключается
2) если F(x1) < F(x2), то хопт > x1
3) если F(x1) = F(x2), то x1 < хопт < x2











Определение значений целевой функции в двух точках интервала задания функций
Последовательно сужая интервал исследования, в котором находится оптимальное значение функции, можно с достаточной степенью точности найти оптимальное значение переменной.
Задача поиска экстремумов сводится к их локализации и уточнению значений x и F(x) в точке экстремума. В дальнейшем для функций одной переменной под экстремумом будем подразумевать максимум F(x).
Поскольку максимуму функции F(x) соответствует минимум функции - F(x), то, сменив знак у F(x), программами поиска максимума можно пользоваться и для поиска минимума функций. Будем также полагать, что на изменения x (если это особо не оговорено) накладываются ограничения в виде неравенств a < x < b, где a и b – границы интервала поиска. В пределах отрезка [a , b] функцию считаем унимодальной, т.е. содержащей один максимум.
С помощью численных методов мы непосредственно находим максимум (минимум) функции F(x) в некотором интервале, в котором, как предполагается, лежит максимум (минимум). Иногда это единственно возможная стратегия поиска.
На пример, стоимость проведения химического процесса может зависеть от температуры процесса. Инженер знает, что стоимость является функцией от T, хотя может и не знать явного вида функции. Однако он может поставить эксперимент и провести эксперимент при различных температурах и, следовательно, найти стоимость для этих температур и определить минимальную стоимость и температуру проведения процесса, при которой она достигается.
Метод дихотомии
Метод дихотомии (деление интервала поиска [a, b] пополам) реализуется следующим алгоритмом:
Проверяем условие |b-a|<2E, где E – заданная погрешность вычисления xn. Если это условие выполняется, идём к п.6; если не выполняется, идём к п.2.
Делим интервал поиска [a, b] пополам и вычисляем две абсциссы, симметрично расположенные относительно точки
x=(a + b)/2
x1=(a + b - E)/2 и x2=(a + b + E)/2
Для этих значений x вычисляем F(x)>F(x).
Проверяем условие F(x)>F(x). Если оно выполняется, полагаем b=x и идём к п.1. Если не выполняется, идём к п.5.
Полагаем a=x и идём к п.1.
Выводим на печать xn=(a+b)/2 и вычисляем F(xn).
Метод золотого сечения
Золотое сечение проводит деление отрезка АВ на две неравные части так, чтобы было справедливо соотношение (рис. 7).

Метод золотого сечения позволяет сужать отрезок [a, b] каждый раз вычисляя лишь одно значение F(x), а не два, как в методе дихотомии.
Данный метод реализуется следующим алгоритмом:
Находим коэффициент дробления k=(
·5-1)/2 отрезка [a, b].
Находим абсциссу х1=a + (1-k)*(b-a) и вычисляем F(x1).
Находим абсциссу х2=a + k*(b-a) и вычисляем F(х2).
Проверяем выполнение условия |x2-x1|Проверяем условие F(x1) < F(x2). Если оно выполняется, полагаем, а = х1, х1 = х2 и F(x1) = F(x2), после чего идём к п.3. и п.4.
Если F(x1)
· F(x2), полагаем b = x2, x2 = x1, f(x1) = f(x2), после чего выполняем п.2 и п.4
Блок-схема
13 SHAPE \* MERGEFORMAT 1415






Программа
DECLARE SUB zolot (a!, b!, E!, xmax!)
DECLARE SUB dih (a!, b!, E!, xmax!)
DECLARE FUNCTION f! (x!)
CLS
PRINT TAB(5); "LABORATORNAYA RABOTA NOMER 8"
PRINT TAB(5); "OPTIMIZACIA TEHNICHESKOGO PROCESSA"
PRINT TAB(5); "GRUPPA 11-TPM-7"
PRINT TAB(5); "STUDENT KLEVTSOV GRIGORIY"
INPUT "VVEDITE ZN-E OTREZKA a="; a
INPUT "VVEDITE ZN-E OTREZKA b="; b
INPUT "VVEDITE POGRESHNOST'VUCHESLENI Esp="; E
REM MEOD DIXOTOMII
CALL dih(a, b, E, xmax)
PRINT "ZN-E max PO METODY DIXOTOMII"
PRINT "PRI X="; xmax
PRINT "ZN-E FUNKCII Y(xmax)="; f(xmax)
PRINT "ZN-E max PO METODY ZOLOTOGO SECHENIAY"
CALL zolot(a, b, E, xmax)
PRINT "PRI X="; xmax
PRINT "ZN-E FUNKCII Y(xmax)="; f(xmax)
END

SUB dih (a, b, E, xmax)
DO UNTIL ABS(b - a) < 2 * E
x1 = (a + b - E) / 2
x2 = (a + b + E) / 2
IF f(x1) > f(x2) THEN
b = x2
ELSE
a = x1
END IF
LOOP
xmax = (a + b) / 2
END SUB

FUNCTION f (x)
f = -2.5 * x ^ 2 + 4 * x - 7
END FUNCTION

SUB zolot (a, b, E, xmax)
k = (SQR(5) - 1) / 2
x1 = a + (1 - k) * (b - a)
x2 = a + k * (b - a)
DO UNTIL ABS(x2 - x1) < E
IF f(x1) < f(x2) THEN
a = x1
x1 = x2
ELSE
b = x2
x2 = x1
END IF
x1 = a + (1 - k) * (b - a)
x2 = a + k * (b - a)
LOOP
xmax = (x1 + x2) / 2
END SUB







а) гладкая б) ломаная в) разрывная

X1 Xопт X2

X

F(x1)

F(x2)

X

X1 Xопт X2

F(x1)=F(x2)





X

X1 Xопт X2

F(x1)

F(x2)





А С В

13EMBED Equation.31415

Конец

Начало

f(xmax)

"при X="; xmax

Значения max по методу золотого сечения

f(xmax)

b = 1,5


"при X="; xmax

Значения max по методу дихотомии

Вызов подпрограммы метода дихотомии

zolot

dih

a = 0


a, b, e

выход


вход


Подпрограмма метода дихотомии

b = x2


xmax=(a + b) / 2

a = x1


f(x1) > f(x2)

x2=(a + b + E)/2


|(b-a)| < 2*E

x1=(a + b - E)/2




Рисунок 69Root Entry

Приложенные файлы

  • doc 19094973
    Размер файла: 159 kB Загрузок: 0

Добавить комментарий