Научная статья на тему 'ОТКРЫТЫЕ АЛЬТЕРНАТИВЫ MATLAB ДЛЯ РЕШЕНИЯ ЗАДАЧ МНОГОЦЕЛЕВОЙ ОПТИМИЗАЦИИ'

ОТКРЫТЫЕ АЛЬТЕРНАТИВЫ MATLAB ДЛЯ РЕШЕНИЯ ЗАДАЧ МНОГОЦЕЛЕВОЙ ОПТИМИЗАЦИИ Текст научной статьи по специальности «Математика»

CC BY
258
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ / NEOS-СЕРВЕР ОПТИМИЗАЦИИ / GAMS / OCTAVE / MATLAB / MATHCAD / OPTIMIZATION TOOLBOX / MULTICRITERIA OPTIMIZATION / NEOS OPTIMIZATION SERVER

Аннотация научной статьи по математике, автор научной работы — Холоднов Владислав Алексеевич, Лебедева Марина Юрьевна, Краснобородько Денис Александрович, Кулишенко Роман Юрьевич

Рассматриваются методы и «свободное» программное обеспечения для решения задач многоцелевой оптимизации. В настоящее время при их решении успешно используется библиотека функций MATLAB (Optimization Toolbox). MATLAB, являющийся высокотехнологичным программным продуктом, имеет достаточно высокую стоимость. Поэтому авторами предложено применение бесплатных альтернатив MATLAB, а именно программных продуктов GAMS и Octave для решения подобного рода задач. В статье приводятся математические постановки практических задач многокритериальной оптимизации и результаты их решения с использованием NEOS Server: State-of-the-Art Solvers for Numerical Optimization (GAMS) и свободной программы GNU OCTAVE. Полученные результаты подтверждаются расчетами в MATLAB.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Холоднов Владислав Алексеевич, Лебедева Марина Юрьевна, Краснобородько Денис Александрович, Кулишенко Роман Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

OPEN ALTERNATIVES TO MATLAB TO SOLVE MULTI-PURPOSE OPTIMIZATION PROBLEMS

Methods of multi-criteria optimization and the use of "free" software for solving multi-purpose optimization problems are considered. Currently, the MATLAB function library (Optimization Toolbox) is successfully used to solve them. MATLAB, which is a high-tech software product, has a fairly high cost. Therefore, the authors proposed the use of free alternatives to MATLAB, namely software products GAMS and Octave for solving such problems. The article presents mathematical statements of practical problems of multi-criteria optimization and the results of their solution using NEOS Server: State-of-the-Art Solvers for Numerical Optimization (GAMS) and the free GNU OCTAVE program. The results obtained are confirmed by calculations in MATLAB.

Текст научной работы на тему «ОТКРЫТЫЕ АЛЬТЕРНАТИВЫ MATLAB ДЛЯ РЕШЕНИЯ ЗАДАЧ МНОГОЦЕЛЕВОЙ ОПТИМИЗАЦИИ»

УДК 576/B

Vladislav A. Kholodnov1, Marina Yu. Lebedeva2, Dmitriy A. Krasnoborodko1, Roman Yu. Kulishenko1

OPEN ALTERNATIVES TO MATLAB TO SOLVE MULTIPURPOSE OPTIMIZATION PROBLEMS

1St. Petersburg State Institute of Technology (Technical University), Moskowskiy Pr., 26, St. Petersburg, 190013, Russia

2Branch of FSBEI HE "National Research University" MPEI "in Smolensk. e-mail: holodnow@yandex.ru

Methods of multi-criteria optimization and the use of "free" software for solving mutti-purpose optimzzation problems are considered. Currently, the MATLAB function library (Optimization Toolbox) is successfully used to solve them. MA TLAB, which is a high-tech software product, has a rather high cost. Therefore, the authors proposed the use of free alternatives to MATLAB, namely software products GAMS and Octave for solving such problems. The article presents mathematical statements of practical problems of multi-criteria optimization and the results of therr solution using NEOS Server: State-of-the-Art Solvers for Numerical Optimization (GAMS) and the free GNU OCTA VEprogram. The results obtained are confirmed by calculations in MATLAB.

Keywords: multi-criteria optimization, NEOS optimization server, GAMS, Octave, Matlab, Mathcad, Optimization Toolbox..

DOI 10.36807/1998-9849-2020-54-80-80-86

Введение

MATLAB является языком технических вычислений на базе ведущих технических и научных организаций, а также выступает в качестве стандартного программного обеспечения в более чем 5000 университетов по всему миру. Инструмент решения многокритериальных задач в MATLAB - пакет Optimization Toolbox, который поддерживает основные методы оптимизации [1].

Однако, MATLAB - проприетарный инструмент. Несмотря на особые условия для учебных учреждений, применение программы за пределами академической среды является «дорогим удовольствием», поскольку стоимость лицензии может достигать нескольких тысяч долларов. Вместе с тем, у MATLAB есть несколько бесплатных альтернатив. В качестве доступного «свободного» программного обеспечения нами выбраны две альтернативы MATLAB, а именно программы GAMS и Octave.

GNU Octave - наиболее популярная открытая альтернатива MATLAB. Проект существует несколько десятилетий и достаточно активно развивается. Особенность программы состоит в том, что он макси-

Холоднов В.А.1, Лебедева М.Ю. 2 Краснобородько Д.А. 1, Кулишенко Р.Ю. 1

ОТКРЫТЫЕ АЛЬТЕРНАТИВЫ MATLAB ДЛЯ РЕШЕНИЯ ЗАДАЧ MНОГОЦЕЛЕВОИ ОПТИМИЗАЦИИ

1Санкт-Петербургский государственный технологический

институт (технический университет), Московский пр. 26,

Санкт-Петербург, 190013, Россия

2Филиал ФГБОУ ВО «Национальный исследовательский

университет «МЭИ» в г. Смоленске

e-mail: holodnow@yandex.ru

Рассматриваются методы/ многокритериальной оптимизации и «свободное» программное обеспечения для решения задач многоцелевой оптимизации. В настоящее время при их решении успешно используется библиотека функций MATLAB (Optimization Toolbox). MATLAB, являющийся высокотехнологичным программным продуктом, имеет достаточно высокую стоимость. Поэтому авторами предложено применение бесплатных альтернатив MATLAB, а именно программных продуктов GAMS и Octave для решения подобного рода задач. В статье приводятся математические постановки практических задач многокритериальной оптимизации и результаты/ их решения с использованием NEOS Server: State-of-the-Art Solvers for Numercca/ Optimzzation (GAMS) и свободной программы/ GNU OCTAVE. Полученные результаты/ подтверждаются расчетами в MA TLAB.

Ключевые слова: многокритериальная оптимизация, NEOS-сервер оптимизации, GAMS, Octave, Matlab, Mathcad, Optimization Toolbox.

Дата поступления - 26 апреля 2020 года

мально приближен к MATLAB. GNU Octave на самом деле является бесплатной копией MATLAB, что облегчает переносимость большинства программ.

Однако, нельзя говорить о полной совместимости программных продуктов, хотя разработчики к этому стремятся. На сегодняшний день ряд проектов, созданных для MATLAB, могут быть реализованы в GNU Octave без каких-либо изменений. «Свободная» программа Octave - это удачный симбиоз Scilab и Matlab [3,4].

NEOS Server: State-of-the-Art Solvers for Numerical Optimization - это бесплатный интернет-сервис для решения численных задач оптимизации с использованием программы GAMS (General Algebraic Modeling System) [5,6]. Пользователь, работая с данным ресурсом, может решать свою задачу дистанционно с помощью мощных вычислительных средств и получать результаты решения на свою электронную почту.

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

программных продуктов с целью оценки их эффективности при решении конкретной задачи и возможности их использования в качестве альтернативы МаАаЬ.

Реализацию методов решения задач многоцелевой оптимизации [6, 7] рассмотрим для примера, характерного для химической технологии [2].

Исследуется процесс экструзии пасты, на который влияют следующие пять факторов:

• х1 - содержание Ре203, (46-50 об.%),

• х2 - содержание ПВС (2-6 мас. %) в жидкой фазе пасты,

• х3 - содержание МЦ (0,1-1,25 мас. %) в жидкой фазе пасты;

• х4 - содержание глицерина (0-18 мас. %) в жидкой фазе пасты;

• х5 - число оборотов шнека экструдера, (10-15 об/мин).

В качестве показателей процесса формования и свойств готового продукта измерялись следующие критерии:

• у1 - производительность формования по влажному продукту, кг/ч,

• у2 - прочность на сжатие прокаленного экструдата, МПа,

• у3 - плотность прокаленного экструдата, г/см3.

Таблица 1. Реперные точки для вычисления значений __функций желательности

Критерии оптимизации Значения критериев оптимизации Значение частных функций желательности Желательность значения критерия

и 15.0 0.8 хорошо

/1 2.7 0.2 плохо

1.77 0.8 хорошо

0.09 0.2 плохо

уа 2.1 0.8 хорошо

2.53 0.2 плохо

Уравнения математического описания исследуемого процесса были получены в программе Excel по известным экспериментальным данным [2] с использованием метода Брандона [10].

Уравнения регрессии по первому показателю процесса y1 (производительность формования по влажному продукту, кг/ч) имеет вид:

Уравнения регрессии по первому показателю процесса y1 (производительность формования по влажному продукту, кг/ч) имеет вид: у^ = 8.14 • (1 + 0.18х5) • (1 - 0.18л: J • (0.98 - 0.06д:э) • • ехр(0.07х4) ■ (1 + 0.02жг)

Уравнения регрессии для второго показателя y2 (прочность на сжатие прокаленного экструдата) будет иметь вид:

yl = 1.02 • 0.93 • ехр(0.4х,) • 0.99 • ехр(0.15;ц) • ■ (1.02 • ехр(0.09х3)) ■ (1 - 0.02х2) ■ (1 4- 0.0006х4)

Уравнения регрессии для третьего показателя у3 (кажущаяся плотность прокаленного экструдата) будет иметь вид:

■ ехр(0.006л:5) • ехр(0.005х3) • {1 - 0.001х4)

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

Принцип справедливого компромисса. Обобщенная функция желательности Харрингтона [2].

Этот метод преобразует многокритериальную задачу минимизации вектора в некую скалярную задачу, для решения которой может быть применен стандартный алгоритм оптимизации. В соответствии с этим методом по реперным точкам получены зависимости частных функций желательности от измеренных значений критериев оптимизации: = ехр[-ехр(0.91- 0.161^)], = ехр[-ехр( 0.582- 1.176у2)], = -11 14--4 \

Задача оптимизации была сформулирована в следующем виде: найти

X' = а^ шах О (хх, х2,х3,х4, х5 ),

ХЕХ

обобщенная функция желательности.

Решение с помощью функции «^шдоп» в Matlab с использованием пакета Орйт12айоп Тоо1Ьох.

На рисунке 1 показана процедура обращения к функции «Шпсоп» и полученные результаты решения задачи.

Solver fmincon - Constrained nonlinear minimization v

Algorithm: Interior point v

Problem

Objective function: @Mkrit312

Derivatives Approximated by solver v

Start point 0 0 0 00

Constraints

Linear inequalities: A: | b:| |

Linear equalities: Aeq: | | beq: | |

Bounds: Lower: |-1 -1 -1 -1 | Upper: |l 1 1 1 1

Nonlinear constraint (unction: Derivatives Approximated by solver

Run solver and view results

Start Pause Stop Current iteration: ^ Clear Results

Optimization running.

Objective function value: -061235689791575 Local minimum found that satisfies the constraints

Final point

t- 2 -1 3 -1 4 -0.611| 5 Ii 1

< >

Рис. 1. Обращение к программе и результаты решения с помощью функции «fmincon» в Matiab с использованием пакета Optimization Toolbox

Постановка задачи.

Найти компромиссное решение

iarg maxXEXy1 (xlfx2ix3fx4tx5)

X* = \argmaxXEXy2(xltx2jx^x4,x5) { arg mmXEX y3 (xltx2, x3ßx4ß x5)

Для использования пакета Optimization Toolbox с целью решения задачи оптимизации необходимо написать программу и сохранить ее в виде m-файла (рис. 2).

Г (1) = (8.14*(l+0.18"s (S)) *<1 0.18*х (1)) *(0.98-0.0б*х (3)) *eip (0.07'x (4)) f (2) -41.02'Q.93*«p (0.4-x (1)1 *0.99Vxp (0-15*я (5)) * esp (0.09*3! (3)) f (3) =2.35*esp (0.05*1 (1)) '(l+O.lS-s (2)) 'exp (0.006*s (S)) *

Рис. 2 Листинг программы m-файла «Mkrit312(x)»

Вычисление маргинальных значений критериев с помощью функции «sqp» в программном продукте Octave. Решение задачи выполняется в следующей последовательности.

Создаем m-файл (рис. 3). fonction у=М(х)

П=(8,14*(1+0.18*х(5)>*(1 0,18*х(1))*(0,98 0.0б*з(3» *{eA(0.08*s(4)))*(l+0,02*5(2))); у=Я;

«ni function

Рис. 3. Листинг программы/ m-файла «<M(x)»

Создаем файл сценария (рис. 4). s0= [-1; 1; -1; 1; 1]; lb= [-1; -1; -1; -1; -1]; ub= [1; l; is is И;

Ex, obj, info, iter]=sq[)(x0,@M,[],[],[11>],[иЪ].[].()): disp(x) ; di sp( obj ) ; d isp (i f f i) ;disi>(iiifo);

Рис. 4 Листинг программы/ m-файла сценария

Выполнение сценария позволило найти маргинальные значения критериев, которые приведены в таблице 2.

Таблица 2. Маргинальные значения критериев

Problem Setup end Results

Solver: fminimax - Minimax optimization Problem

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Objective function- <5>Mfcrit312 Deri vatlves Start point

Approximated by solder

-1 -1 -1 -i -i

Constraints;

Linear Inequalities: A: | | be |

Linear equalities: Aeq: | | bsq: |

Bounds: Lower: |-1 -1 -1 -1 -1 | Upper |l 1 1 1 1

Nonlinear constraint function:

Derivatives: Approximated by solver

Run solver and view results

Start

Pause

Stop

Current iteration: 5

Clear Results

Optimization running. -

Objective function value: -8.609546-843210246

Final point

1 * 2 -il 3 4 -il i| 5 il

Рис. 5. Обращение к программе и результаты решения с помощью функции «fmini max» в Matlab с использованием пакета Optimization Toolbox

Для решения задачи представим данные функции в виде m-файла. (рис. 6).

Рис. 6. Листинг программы m-файла «Mkrit312(x)»

Создаем файл сценария (см. рис. 7).

х= [-1,1, -1,1,1];

Xj Xa XA хъ lb= [-1,-1,-1,-1,-1];

У1 = 12.89 -1 1 -1 1 ! ub= [1,1,1,1,1]; fx, fvall =fniiuimax(i®Mkiit312, x,A,b,Aeci,beq,lb,ub);

V: =1.82 1 -1 1 1 1 tlisp(x);disp(fval);

Уз = l-8i -1 -1 -1 1 -1 Рис. /. листинг программы обращения к функции «fmini max»

Решение с помощью функции «fminimax» MATLAB с использованием пакета Optimization Toolbox. Функция х = fminimax (fun, x0) - возвращает значение х, минимизирующее максимальные значение функций из заданного набора «fun» при стартовой точке поиска х0.

На рис. 5 показана процедура обращения к функции «fminimax» и полученные результаты решения задачи.

В таблице 3 приводится точка, в которой одновременно достигаются наилучшие значения критериев.

Таблица 3. Наилучшие значения критериев

Значения критериев X1 X1 X1 X1 X1

V1 = 8.61 v: =0.50 -1 -1 -1 1 -1

Уз = 1.8i

Эти же значения были получены с использованием метода достижения многомерной цели функции <^доа1айа1п» и с помощью генетического алгоритма функции «датиКюЬр МАТАВ.

Решение с помощью функции «fgoalat-Ып» MATLAB. На рис. 8 показана процедура обращения к функции <^доа1айат» и результаты решения задачи.

C4IJMW IjfKIKJrt i1*,'- V;

DfrHflivw Appr<B'lrfiVt>yK>,l*r

SHnfWC и 1 1]

бол 151S £ WK1HE 'i U '«

Constraints

W ft bt

Lu»* equiMw Atq: beq

Bounds -1 -1 *1 -1 upper 11111

NonlifUdf <ОГ№»Л1 flSKtWft

Otrvjtirv» spptoimjKil &y sc*rer -

Run wfc« *id ¡прл rmíii

Cuwent "WWiOrt Î OwRBrt

tmcelhe default value oí ttie flep ьге tolerance andccralrariU are -

»crsfied it> ilw Oflault value oí 9* еоляг*«| tolerance, „

íiwl poinc

2 í "1 "1 ■ti 5 1 -1

Рис. 8. Обращение к программе и результаты решения с помощью функции «fgoaiattain» MATLAB с использованием пакета Optimization Tooibox

На рис. 9 представлен файл сценария для решения задачи.

[l Дул I,aft a' i п factor] =fgoa)attaiu([ft\II{ril312, x0,gaal,w^,b^eq,beqjb,nb);

Рис. 9. Обращение к функции «fgoalattain»

Решение с помощью генетического алгоритма функции «gamultiobj» MATLAB с использованием пакета Optimization Toolbox. На рис. 10 показана процедура обращения к функции «gamultiobj».

Solder gimultiotjj - Mtjitiobjectivi optimization using Genetic Algorithm v

Optimization terminated: average change in the spread of Pareto solutions less than options.FunctionTolerance.

Рис. 10. Обращение к функции «gamultiobj» с использование m-файла «Mkrit312»

Результаты решения задачи представлены на

рис. 11.

Optimization dinning.

Optimization terminated: average change Enttve spread of pareto solutions tess than options.FmctiohTolerance.

.AH_

Paleto front - function values and decision variables

Inde* * ft i2 f3 x1 x2 x3 x4 *5

5Í 6,781 1,5 72 2.095 0,965 -0,862 0,913 0,558 0.336 л

б| -10,616 -0,887 2,658 -0,461 0,84 0,415 0,909 0,851

7 -8,462 ■1,459 2.713 0,847 0,568 -0,029 0,737 0.914

a -5,555 -1,194 2,052 0,661 -0,871 0,742 -0.748 -0,586

9Í -12,242 -0,685 2,544 -0,902 0,733 -0,656 0,85 0,9371

Iffl -5,197 -1,353 2,087 0,965 -0,862 0,913 -0,442 -0,664¡

11 -9,741 ■1,158 2.758 0.262 0.855 0.023 0.958 0.938;

12 -8,65 -0,524 1,844 -0,921 -0,937 -0,838 0,952 -0,914

n -8,417 -1,116 2.329 0,077 -0,108 0,903 0,447 0.528;

14 -9533 1,226 2.815 0.512 0,92 -0,442 0,918 0.942

15 -4,806 1,286 2.072 0,926 -0,883 0,908 -0,913 ■0.898

Щ -10,981 -0,878 2,464 -0,314 0,356 -0,602 032 0,936

17 -7.635 -1,378 2,228 0,947 -0,524 -0,413 0,844 0,35

1S -8,079 •0,779 1,915 ■0,372 ■0,932 0,264 0,72 ■0,4 V

< >

Рис. 11. Результаты решения задачи, полученные с помощью генетического алгоритма

Решение с помощью обобщенной функции желательности Харрингтона с использованием программного продукта OCTAVE. К основным этапам работы, как и было описано ранее, следует отнести создание m-файла и файла сценария, с помощью которых будет получен результат решения задачи.

На рис. 12 представлен листинг программы m-

файла.

fl= (8J4*(1+0.18*1 (5)) *{l-0.18*i (1)) *{0.98-0.06*х (3)) *

Í2= (1.02*0.93*e_v|> (0.4*x (I)) *0.99*exp (0.15*1 (5)) * 1.01"esp (0.0<>*x (3)) *(10.02*x (2)) *<1+Ф.0006*ж (4))); D=2J5*«p (0.05*1 (1)) *(l+0.018*v (2)) *exp (0.006*1 (5)) *

Рис. 12. Листинг программы m-файла «Mkrit312(x)»

На рис. 13 представлен файл сценария для решения задачи.

[jj'!lnf¿, ttÍr]ÍsQp(x0,@ MJait312,D J] Jb,ub J000,0.00f>01);

Рис. 13. Листинг программы m-файла сценария

На рис. 14 представлен результат решения задачи.

-1.0ШЮ0 ^1.00000 -0,61142 1.00000 1.00000

Рис. 14. Результат решения задачи с помощью обобщенной функции желательности Харрингтона

Решение с использованием обобщенной функции желательности Харрингтона с помощью NEOS-сервера (GAMS). На рис. 15 приведен листинг программы решения с использованием обобщенной функции желательности Харрингтона с помощью NEOS-сервера (GAMS).

1 FREE VARIABLE fr.vl,v2,vj.ppl.pp;,pp.l;

2 FREE VARIABLE si, si li', i4, x5;

3 EQUATIONS Conl, Con2, С011З, Coil4, Coil5, Colli, Сов7, Con8,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4 Con9, OnlO, С uii 11, Con 12, ConlJ,Conl4,Conl5,tonl6,Obj;

(0.9S-0.06* I J) *f ip(0.0 7*l4)*(l+0.02 *\2)=E=s'l; 16CoDl2..1.02*0.9i*eip(0.4*il)*«p(0.1S*iS)*eip(0.09*iJ)

17 Conl3..2,3Sweip({l,Cli*5l)w(]+0.018-52)wfXp(0.W6wlf)*eip(CI,005wx3)

22 MODEL. PROBLEM ALL ;

24 SOLVE PROBLEM USING MP MAXIMIZING fr;

25 DISPLAY xl.L,l2.L,i3.L,l4.L,i5.L,fr.L,yl.L,y2.L,y3.L;

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

На рис. 16 представлен результат решения за-

дачи.

VARIABLE XLL = -IJOOO

VARIABLE XZ.I. = -1.000

VARIABLE X3.L = -0.7SS

VARIABLE X4.L — 1.000

VARIABLE X5.L ж l.oao

VARIABLE FR-L = 0.609

VARIABLE Y1.L = 11.116

VARIABLE Y 2.1. = 0-704

VARIABLE Y3.L = 2.198

Рис. 16. Результат решения задачи с использованием обобщенной функции желательности Харрингтона

Решение методом главной компоненты с использованием NEOS-сервера оптимизации (GAMS). [6]

Решение методом главной компоненты заключается в том, что критерий качества связывается с одним из показателей, выбранных в роли основного (главного). На остальные показатели накладываются ограничения. Математическая постановка задачи имеет следующий вид: найти

X* = arg min /^{х)

ХЕК

с учетом ограничений на параметры оптимизации x

infx < х < sup я

и на остальные критерии оптимальности г 1 rüfr. ¡.V < F. [х < F. ¡.V ,

или при выполнении условия для остальных параметров оптимизации

Ft (x)<£i; i=l,...,m, i Ф R.

В соответствии с данной стратегией в качестве главного критерия выбираем, например, y1 - производительность формования по влажному продукту, кг/ч, Задачу оптимизации запишем в следующем виде: найти

Остальные критерии примем в качестве функциональных ограничений:

На оптимизирующие переменные также наложены ограничения:

infx-i < Xi < sup%i

Для решения воспользуемся NEOS-сервером оптимизации (GAMS).

На рис. 17 представлен листинг программы для решения рассматриваемой задачи.

FREE VAKLABLE d, l2, l3. l4, iS;

EQUATIONS Con), Cop2, CobJ, Cun4, ConS, ConS, ConT, ConS, С rju9XoEli:i,ConlL,Ci)U]2,Cciuli.Conl4,Ccali,C^olc,Obj:

Сои 11. ,S Л4 -(1+0.18 '\i)*(l-0.13*11)*

<0.i>S-<l.(l6xiJr (ip<0.0?-s+)ifl +0,02 Ji2)=L= 15;

Con 12 ..S. 14 *< 1+0.1S 5)*<l-0. 18*11)*

<0.98 0.06*l3)*tip(0.07*\4)*(l +0,02 *l2)=G=10;

Con 13 ,,S. 14 *< 1+0.18 'l i)*(l-0.18*ll)* (0.98-

Con 14.. 1.92*0.93*np<<M*l1)*0,99*ец>(0Л5*l5)*l 02*eip(0.09*i3)* Con IS-1.0 2*0.93 *«p<0.4-i1)*0.№*ыр(0. I S*iS)* l .02*tip(0.0S>*i3r Csn 16, ] .0 2*0-93 *ехр(0-4*1 I )*0.99*eip(0-l 5*sS)*l .«*eip(O.OP*i3y 0bj..2.if*exp(0.0s*il)*(l+0,0ia-i2)*iip(0,0fl6-)ii)*fip(0,005*i3)-MODEL PROBLEM /ALL ;

SOLAX PROBLEM USING NIP ШШШКС j3; DlSPLAY il -L.12 L,i3 LД4.Ьjt5 L,yJ L.»lij2i;

Рис. 17. Листинг программы для решения задачи

На рис. 18 представлен результат решения за-

дачи.

VARIABLE ILL = 1.000

VARIABLE i2X = -1.000

VARIABLE xJ.L - -1.000

VARIABLE l4,L = 1.000

VARIABLE xS.L - -0.264

VARIABLE y3X = 2.179

VARIABLE у EL = 10.000

VARIABLE y2JL - 0.576

Рис. 18. Результат решения задачи методом главной компоненты

Решение методом главной компоненты с использованием программного продукта Octave.

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

Создание m-файла для целевой функции предоставлено на рис. 19.

}=2.35*«А(0,05*Х(1))*(1+0,01в*Х(2))*ел(0.006*Х(5))*ел(0.005*1(3))*(1-

Рис. 19. Листинг m-файла для целевой функции

Создание m-файла для ограничений представлено на рис. 20.

Г1=(8.14*(1+0Л8*л(5))*(1-(к18*х(1)>*(О.98-О.ОЙ*х<3)>* R=(1.02*O.M*tA(0.4*x{l))*0.99*tA(0.15*x(5))*I.02*eA(Ü.09*lE(3))*

Рис. 20. Листинг m-файла для ограничений Создание m-файла сценария представлено на

рис. 21.

[х, obj, info, iterI=sqp(ïÛ,âF.|),®OGiLlb,ijb,lOi)Û,(>.OÛûl);

у1=(8Л 4*(1+0.18*x(5))* (1 -0.18* x( 1)) '(0.98-0.06*1(3)) * у2=(1.02*0.93*ел(0,4*х(1))*0.99*ел(0л5*.\(5))*1.02*ел(0,09*х(3))*

Рис. 21. Листинг m-файла сценария

На рис. 2Z представлен результат решения за-

дачи.

1= -1.00000 -1.00000 -1.00000 1-00000 -0.26427

>3=2,1786 у2= 0.57565 у 1= 10.000

Рис. 22. Результат решения задачи методом главной компоненты

Нахождение оптимального решения на основе маргинальных значений в программе GAMS. Задача нахождения оптимального решения на основе маргинальных значений [1] была сформулирована в следующем виде: найти минимум

где

D , _ (Vina.рг ~ yj(xl'x2-x3-x4'xs)\

Ki[X1,X2,X3,X4,X5) — I I

\ Угмарг /

при наличии ограничений

-l.<x¿ < 1

, где - марги-

нальное или желаемое значение 1 ~ го критерия.

Листинг программы для решения задачи с помощью программного продукта GAMS имеет следующий вид (рис. 23):

1 FK£E VARIABLE fr,yl^l.j3,ppl,pp:.pp3;

i EQI'ATIO.VS Cool, Con'. Co»i,Сож4. Con?. Сопб, Con\ConS, 4 СпиС, Con 10. Conll. CcnlJ, Соп13,С[Л|14,Соп1 5 Ccnl6_OLj;

16 CoiiII-].01-L(i.!i3-Lfip(0-l'til)i0.»''(ip[0.1S'iS)''l,0:le4i(C.C(lii3)i(l-

17 С on 1 3..I. J5*«p(0.05*sir <I +1>.018,i2)'enp(0.00<ii5)i«p(0.0«5ii3)i(l -

24 SOLVE PROBLEM USING MP MINIMIZING fr: If DISPLAY iLLj2,L.3s.1,L,i4.Lji.L,ir,L,y),L,v2.L,yi.L;

Рис. 23. Листинг программы для решения задачи На рис. 24 представлен результат решения за-

дачи.

VARIABLE XL.L = 0.SÍS

VARIABLE X2.L = -1.000

VARIABLE X3.L - -l.OOO

VARIABLE X4.L = 1.000

VARIABLE XÎ.L 1.000

VARIABLE FRL 0.223

VARLABLE Yl.L - a.sw

VARIABLE Y2.L - 1.409

VARIABLE V3.L = 2.410

Рис. 24. Результат решения задачи на основе маргинальных значений

Нахождение оптимального решения на основе маргинальных значений в программном продукте OCTAVE. Для решения задачи оптимизации в предлагаемом программном продукте, как было показано ранее, необходимо создать следующие файлы: m-файл для целевой функции; m-файл для ограничений и m-файл сценария.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Создание m-файла для целевой функции предоставлено на рис. 25.

ПК8Л4^+0.18*1(!))*(10.18*1(1))*(0.984).Об*1(Э)) *(е* (0.09 *i(3))) *(1- 0.02* *(2))* (1 +0.0006*1(3)))f

С3=2.3;*(ел(0.05*1(1)))*(1-Ю.18*х(2))*(рл{0.006*х(5)))*(^п(0.005*1(3)))*(1 Р!>1=((15-П)/15); рр2=((1.8-12)/1.8);ррЗ=((2.1-(3)/2.1);

Рис. 25. Листинг m-файла для целевой функции Создание m-файла сценария представлено на

рис. 26.

|х, obj. info, tter]-sqp(iO,®F,I].[].H'.»b.lOOO,0.0001); у1-Ч811*Ь+ОЛ8*и(5))*(10.18*1(1))*(0 98 0.06*1(3)) у2=(1-02*0.93"е^■(0.4*i(l))*0.99*eA(0.15!'í(5))''1.02,ie'-(0.09*'i(3))-(l-y3=2.3S*(f^(0.05*x(l)))*(l+0.18*x(2))*(eA(0.006*x(5)))*(fn(0.005*x(3)))*(l-Рис. 26. Листинг m-файла сценария

На рис. 27 представлен результат решения задачи.

х= 1.00000 0.78250 -1.00000 1.00000 1.00000

Рис. 27. Результат решения задачи на основе маргинальных значений

Выводы

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

Проведенные исследования убедительно показывают, что свободное программное обеспечение Octave и NEOS-сервер, позволяет успешно решать задачи многоцелевой оптимизации.

Использование GNU Octave и NEOS-сервер «GAMS» для решения конкретных задач доказывают, что эти программы представляют реальную альтернативу MATLAB.

Литература

1. Гольдштейн А.Л. Оптимизация в среде MATLAB: учеб. пособие. Пермь: Перм. Нац. Исслед. Политехн. Ун-т, 2015. 192 с.

2. Trffonov A.G. Mnogokriterial'naya optimizatsiya. Rezhim dostupa:

http://matlab.exponenta.ru/optimiz/book_1/16.php (дата обращения 14.10.2019).

3. Холоднов В.А., Лебедева М.Ю., Пунин А.Е, Хартманн К Системный анализ и принятие решений. Компьютерные технологии решения задач многоцелевой оптимизации систем.: учеб. пособие. / СПб.: СПбГТИ (ТУ), 2006. -153 с.

4. Neos-server. URL:https://neos-server.org/neos/ (дата обращения 14.10.2019).

5. Octave. URL: http://www.gnu.org/software/octave (дата обращения дата обращения 14.10.2017).

6. Алексеев Е.Р., Чеснокова О.В. GNU Octave для студентов и преподавателей. Донецк.: ДонНТУ, Технопарк ДонНТУ УНИТЕХ, 2011. 332 с.

7. Ахназарова С.Л., Гордеев Л.С. Использование функции желательности Харринггона при решении оптимизационных задач химической технологии: учеб.-метод. пособие. М.: РХТУ им ДИ Менделеева, 2003. 76 с С.Л.

8. Harrington E.C. Jr. Функция желательности // Промышленный контроль качества.1965^. 21. № 10. P. 494-498.

9. Холоднов В.А,, Лебедева М.Ю. Использование свободного программного обеспечения для решения задач многоцелевой оптимизации в химической технологии // Известия СПбГТИ(ТУ). 2018. № 43(69). С. 91-94.

10. Brandon D.B. Developing mathematical models for computer control // Instrument Society of America J. 1959. V. 6. N 7. P. 70-73.

References

1. Gol'dshitejn A.L. Optimizaciya v srede MATLAB: ucheb. posobie. Perm': Perm. Nac. Issled. Politekhn. Un-t, 2015. 192 s.

2. Trifonov A.G. Mnogokriterial'naya optimizatsiya. Rezhim dostupa:

http://matlab.exponenta.ru/optimiz/book_1/16.php (data obrashcheniya 14.10.2019).

3. Holodnov V.A., Lebedeva M.YU, Punin A.E, Hartmann K. Sistemnyj analiz i prinyatie reshenij. Komp'yuternye tekhnologii resheniya zadach mnog-ocelevoj optimizacii sistem.: ucheb. posobie. / SPb.: SPbGTI (TU), 2006. -153 s.

4. Neos-server. URL:https://neos-server.org/neos/ (data obrashcheniya 14.10.2019).

5. Octave. URL: http://www.gnu.org/software/octave (data obrashcheniya data obrashcheniya 14.10.2017).

6. A/ekseev E.R., CHesnokova O.V. GNU Octave dlya studentov i prepodavatelej. Doneck.: DonNTU, Tekhnopark DonNTU UNITEKH, 2011. 332 s.

7. Ahnazarova S.L., Gordeev L.S. Ispol'zovanie funkcii zhelatel'nosti Harringgona pri reshenii optimi-zacionnyh zadach himicheskoj tekhnologii: ucheb.-metod. posobie. M.: RHTU im DI Mendeleeva, 2003. 76 s S.L.

8. Harrington E.C.Jr. Funkciya zhelatel'nosti // Promyshlennyj kontrol' kachestva.1965.V. 21. № 10. P. 494-498.

9. Holodnov V.A., Lebedeva M.YU. Ispol'zovanie svobodnogo programmnogo obespecheniya dlya resheniya zadach mnogocelevoj optimizacii v himicheskoj tekhnologii // Izvestiya SPbGTI(TU). 2018. № 43(69). S. 91-94.

10. Brandon D.B. Developing mathematical models for computer control // Instrument Society of America J. 1959. V. 6. N 7. P. 70-73.

Сведения об авторах:

Холоднов Владислав Алексеевич, д-р техн. наук, профессор, каф. системного анализа; Vladislav A. Kholodnov, Dr Sci. (Eng.), Professor, Department of Systems Analysis e-mail: holodnow@yandex.ru

Лебедева Марина Юрьевна, канд. техн. наук, Marina Yu. Lebedeva, Ph.D. (Eng.),

Краснобородько Денис Александрович, канд. техн. наук, доцент, каф. системного анализа; Denis A. Krasnoborodko, Ph.D. (Eng.), Associate Professor, Department of Systems Analysis

Кулишенко Роман Юрьевич, канд. техн. наук, доцент, каф. системного анализа; Roman Yu. Kulishenko Ph.D. (Eng.), Associate Professor, Department of Systems Analysis

i Надоели баннеры? Вы всегда можете отключить рекламу.