Смекни!
smekni.com

Градиентный метод первого порядка (стр. 7 из 11)

, T = 20, U(t) = 15 – 0.1t,

.

Уравнение выхода системы:

,
,
.

Значение параметров системы:

,
.

Характер помехи и ее статистические параметры:

Нормальное распределение

.

Здесь

- вектор состояния системы;
- вектор наблюдения;
- вектор помехи; А, В, С – матрицы коэффициентов (параметров) системы; [0, T] – интервал определения системы.

Необходимо

- составить в соответствии с математическим ожиданием системы ее имитационную модель для формирования реализации вектора и состояния системы на интервале определения;

- составить алгоритм и программу решения задачи построения динамической модели в соответствии с заданным типом модели методом идентификации и точностью решения задачи;

- отладить программу;

- провести расчеты и анализ полученных результатов.

Построение математической модели

Учитывая характер помехи можно составить следующую имитационную модель системы для формирования реализации вектора и состояния системы на интервале определения:

,

,
;
.

Здесь

- вектор состояния системы;
- вектор состояния модели;
- матрицы коэффициентов модели.

, T = 20, U(t) = 15 – 0.1t,
.

Здесь [0, T] – интервал определения системы.

Уравнение выхода системы:

,
,
.

Здесь

- вектор наблюдения;
- вектор помехи; С – матрица коэффициентов (параметров) системы.

Значение параметров системы:


,
.

Здесь А, В – матрицы коэффициентов (параметров) системы.

Характер помехи и ее статистические параметры:

Помеха имеет нормальное распределение с математическим ожиданием, равным

.

Алгоритм реализации решения задачи построения динамической модели

Идея построения требуемой динамической системы состоит в следующем: для заданного значения параметра tс его интервала определения градиентным методом первого порядка находим соответствующее значение параметра x, который изменяется динамически. Поэтому необходимо в каждый момент ti найти оптимальное соответствующее значение фактора х и функции отклика у, которые наиболее близко описывали бы исходную систему. Помеха имеет нормальное распределение, поэтому включаем ее в функцию отклика таким образом, как показано в выше предложенных формулах.

Для поиска решения необходимо рассчитать оптимальный шаг

.

Это делается по выше указанной формуле ( 6 ) – поиск шага варьирования. Именно так и реализуем в программном решении данной задачи.

Для поиска оптимального решения используем матрицы коэффициентов модели

, с помощью которых определяем соответствующее значение функции отклика. Все выше сказанное реализовано в предлагаемой программе, в которой реализовано решение задачи построения динамической модели в соответствии с заданным типом модели методом идентификации и точностью решения задачи. Программа отлажена на упрощенных тестовых примерах с использованием информации, полученной от имитационной тестовой модели.

Проведен анализ полученных результатов, что также отражено в предложенной программе.

Апробирование машинной программы

Как было отмечено ранее, в данной программе кроме ручного ввода исходных значений факторов Х (т. е. задание так называемой «нулевой точки») существует задание количества факторов и количества опытов, как по умолчанию, так и непосредственно пользователем.

Программа исследований программного эксперимента:

Решает задачу оптимизации поверхности отклика. В начале работы требуется задать значения функции отклика Y, для которых и будет найдены соответствующие значения факторов X, при которых функция отклика принимает максимальное значение.

1.Задаем количество факторов и экспериментов


Получаем значения факторов в натуральном масштабе, заполняем матрицу планирования.

2.Производим кодирование в безразмерной системе координат, для каждого фактора определяются нулевые уровни и интервалы варьирования. Они будут использованы для определения градиента в данной точке.

3.Получаем значения коэффициентов регрессии.

4.Считаем выборочные дисперсии, и если они однородны, выводим значение дисперсии воспроизводимости

5.Проверяем на значимость коэффициенты регрессии.

В данном случае все коэффициенты значимы.

6. Получаем информацию о том, описывает ли уравнение эксперимент адекватно.

7. Делаем шаг в сторону, противоположную градиенту и находим новую точку (набор факторов).

8. Для нового набора переходим к шагу 2. Выполняем указанные действия до тех пор, пока не приблизимся к точке экстремума, на что указывает убыль последующих значений функции отклика.

Результаты работы программы

Матрица значений функции отклика системы:

.

Матрица помех:

.

Найденные значения факторов, про которых функция отклика принимает максимальное значение:

Вывод

В данном курсовом проекте рассматривался градиентный метод первого порядка, в качестве ядра которого использовался полный факторный эксперимент первого порядка, что предполагает такое проведение исследований, которое позволяет некоторым оптимальным образом получить информацию об объекте, оформить её в виде полиномиальной линейной модели и провести её статистический анализ. Так же в работе был составлен алгоритм моделирования , на основе которого была написана программа для проведения исследований градиентным методом.

Список литературы

1. Ю.П. Зайченко. Исследование операций. “Вища школа”. Киев 1988.

2. А.Г. Бондарь, Г.А. Статюха, Т. В. Землянкин , И.А. Потяженко. Планирование эксперимента при оптимизации процессов химической технологии. “Вища школа”. Киев 1980.

3. В.В. Кафаров. Методы кибернетики в химии и химической технологии. Москва. «Химия». 1985.

4. А.В. Бондаренко, Г.А. Статюха. Планирование эксперимента в химической технологии. “Вища школа”. Киев 1976.

5. А. Кофман, Р. Крюон “Массовое обслуживание. Теория и приложения”.

6. Е.С. Венцель “Исследование операций”.

Листингпрограммы

unit MainUnit;

interface

uses Windows,Classes,Graphics,SysUtils,StdCtrls,Math,Grids, ListControl,

Forms;

type

SelType = (stNONE,stPOINT,stCON); // Типтекущегоэлемента

PPoint = ^TPoint;

TPoint = record

UIN : integer;

Value : integer;

X,Y : integer;

end;

PConnection = ^TConnection;

TConnection = record

toPoint : PPoint;

fromPoint : PPoint;

Value : integer;

end;

CurElement = record

ceType : SelType;

element : pointer;

end;

TGraph = class

private

WasChanged : boolean;

ChangedAfter : boolean;

PointRadius : integer;

MaxUIN : integer;

Points : TList;

Connections : TList;

Selected,Current : CurElement;

function CheckCicle(FP,TP:PPoint):boolean;

function MouseOverPoint(X,Y:integer):PPoint;

function MouseOverConnection(X,Y:integer):PConnection;

procedure

DrawConnections(C:TCanvas;minW,minH,maxW,maxH:integer);

procedure DrawPoints(C:TCanvas;minW,minH,maxW,maxH:integer);

procedure Clear;

public

constructor Create;

destructor Destroy;override;

function MouseOver(X,Y:integer):CurElement;