Решение задач оптимизации в среде MatLab - Лабораторная работа

бесплатно 0
4.5 69
Исследование типовых примеров задач оптимизации. Реализация программы в среде MatLab для их решения. Изучение функций нелинейной оптимизации. Определение оптимума целевой функции одной или нескольких переменных. Поиск оптимальных настроек регулятора.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Рассмотреть несколько типовых примеров задач оптимизации и реализовать программу в среде MATLAB для их решения. Среда MATLAB содержит расширение “Optimization TOOLBOX”, обеспечивающее доступ к сервисным средствам обычной и крупномасштабной (большой размерности) оптимизации. Тулбокс Оптимизация содержит подпрограммы для реализации наиболее широко используемых методов минимизации и максимизации. Тулбокс включает в себя алгоритмы для решения многих типов задач оптимизации, таких как: · Современные стандартные алгоритмы оптимизации. Функции fminunc и fmincon позволяют решать оптимизационные задачи градиентными методами соответственно при отсутствии и наличии ограничений.Решение 1-й поставленной задачи: Выберите метод оптимизации (1-Метод золотого сечения, параболическая интерполяция, 2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )1 Выберите метод оптимизации(1-Метод золотого сечения, параболическая интерполяция, 2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: ) Выберите метод оптимизации(1-Метод золотого сечения, параболическая интерполяция, 2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )3 Выберите метод оптимизации(1-Метод золотого сечения,параболическая интерполяция,2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )4 Transfer function: 2-------------s^2 2 s 2 K = 1 1 1 Local minimum possible. Constraints satisfied. xmin = 0.2893 1.8760 2.6281 fval = 0.1462 exitflag = 5 Transfer function: 0.2893 s^2 1.876 s 2.628----------------------------s Время переходного процесса: 10.2528 c Перерегулирование: 18.2325 % Степень колебательности: 0.33751 Выберите метод оптимизации(1-Метод золотого сечения,параболическая интерполяция,2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )4 Transfer function: 2-------------s^2 2 s 2 K = 2.2610 23.0700 11.7700 Local minimum possible.

Вывод
1. Решение 1-й поставленной задачи: Выберите метод оптимизации (1-Метод золотого сечения, параболическая интерполяция, 2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )1

Optimization terminated: the current x satisfies the termination criteria using OPTIONS.TOLX of 1.000000e-004 xmin = 0.5283 fval = 0.6675 exitflag = 1

2. Решение 2-й поставленной задачи

2.1. Выберите метод оптимизации(1-Метод золотого сечения, параболическая интерполяция, 2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )

Введите номер функции: 2

Optimization terminated: the current x satisfies the termination criteria using OPTIONS.TOLX of 1.000000e-004 and F(X) satisfies the convergence criteria using OPTIONS.TOLFUN of 1.000000e-004 xmin = -2.0000 -4.0000 fval = -20.0000 exitflag = 1

2.2. Выберите метод оптимизации(1-Метод золотого сечения, параболическая интерполяция, 2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )3

Введите номер функции: 2

Warning: Gradient must be provided for trust-region algorithm;

using line-search algorithm instead.

> In fminunc at 347

In laba5a at 29

First-order

Local minimum found.

Optimization completed because the size of the gradient is less than the default value of the function tolerance. xmin = -2.0000 -4.0000 fval = -20 exitflag = 1

3. Решение 3-й поставленной задачи

В качестве начальных значений параметров регулятора [1 1 1] Значения параметров регулятора, полученные при помощи альтернативного метода РЧХ в качестве начальных [2.261 23.07 11.77]

Выберите метод оптимизации(1-Метод золотого сечения,параболическая интерполяция,2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )4 Transfer function: 2 ------------- s^2 2 s 2 K = 1 1 1 Local minimum possible. Constraints satisfied. xmin = 0.2893 1.8760 2.6281 fval = 0.1462 exitflag = 5 Transfer function: 0.2893 s^2 1.876 s 2.628 ---------------------------- s Время переходного процесса: 10.2528 c Перерегулирование: 18.2325 % Степень колебательности: 0.33751 Выберите метод оптимизации(1-Метод золотого сечения,параболическая интерполяция,2-Метод Нелдера-Мида(Симплекс): 3-Квазиньютоновский метод, 4-поиск оптимальных настроек регулятора: )4 Transfer function: 2 ------------- s^2 2 s 2 K = 2.2610 23.0700 11.7700 Local minimum possible. Constraints satisfied. xmin = 2.2856 23.0626 11.7730 fval = 0.0193 exitflag = 5 Transfer function: 2.286 s^2 23.06 s 11.77 --------------------------- s Время переходного процесса: 9.7925 c Перерегулирование: 19.4689 % Степень колебательности: 0.50525

Рассмотрим одну из самых распространенных и востребованных оптимизационных задач в логистике - транспортную задачу.

Необходимо найти оптимальный план перевозок грузов от поставщиков к потребителям, если вектор мощностей поставщиков равен , вектор мощностей потребителей и задана матрица транспортных издержек

Суммарная мощность поставщиков равна 280, суммарная мощность потребителей равна 250, следовательно, задача является открытой и необходимо свести ее к закрытой. Для этого нужно ввести фиктивного потребителя, на которого будет приходиться 30 ед. продукции поставщиков.

Реализуем программу в среде MATLAB для решения поставленной задачи

Файл-сценарий: clc close all clear global C X B;

optset=optimset("Display","iter","Algorithm","Active-set");

disp("Вектор мощностей поставщиков")

X=[80,120,50,30]

B=[60,40,40,90,10,10];

disp("Вектор мощностей потребителей")

B(7)=sum(X)-sum(B)

C=[4 8 3 12 9 7;

2 1 24 7 8 5;

5 11 7 4 1 6;

6 7 4 3 8 8];

C(1,7)=zeros;

disp("Матрица транспортных издержек")

С

K=10*ones(size(C));

A=[];b=[];Aeq=[];beq=[];

lb=zeros(size(C));ub=100*ones(size(C));

[xmin,fval]=fmincon(@fun,K,A,b,Aeq,beq,lb,ub,@ogr,optset);

disp("Матрица переменных") xmin disp(["Наименьшее значение целевой функции= ", num2str(fval)])

Файл-функция (Целевая функция) function y = fun(M) global C;

V=C.*M;

y=sum(V(:));

end

Файл-функция (ограничения) function [c,ceq] = ogr(M) global X B s=size(M);

for i=1:s(1) ceq(i)=X(i)-sum(M(i,:));

end for j=1:s(2) ceq(i j)=B(j)-sum(M(:,j));

end ceq(i j)=M(1,j,1)-B(j);

c=[];

end

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

Вектор мощностей поставщиков

X = 80 120 50 30

Вектор мощностей потребителей

B = 60 40 40 90 10 10 30

Матрица транспортных издержек

C =

4 8 3 12 9 7 0

2 1 24 7 8 5 0

5 11 7 4 1 6 0

6 7 4 3 8 8 0

Max Line search Directional First-order

Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in feasible directions, to within the default value of the function tolerance, and constraints were satisfied to within the default value of the constraint tolerance.

Active inequalities (to within options.TOLCON = 1e-006): lower upper ineqlin ineqnonlin

3

4

5

7

8

10

11

12

13

17

18

20

23

24

26

27

28

Матрица переменных xmin =

Наименьшее значение целевой функции = 750

Список литературы
1. Конспекты лекций по курсу “АТПП”

2. Марголис, Б.И. Компьютерные методы анализа и синтеза систем автоматического регулирования в среде Matlab / Б.И.Марголис. - Учеб. Пособие для вузов. - Тверь: изд-во ТВГТУ, 2015.-92 с.

3.

4. http://matlab.exponenta.ru/optimiz/book_4/

Размещено на .ru

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?