필터 지우기
필터 지우기

help me to use a gamu/pareto to solve an optimization problem

조회 수: 1 (최근 30일)
Zinedine Gueddal
Zinedine Gueddal 2020년 5월 10일
댓글: Zinedine Gueddal 2020년 5월 16일
I want to use a gamu program to solve an optimization problem of 6 variables and draw the 3D pareto curve of 3 functions of nonlinear objectives which are in the first m.file, under constraints of 3 nonlinear constraints which are in the second m.file, and the third m.file dedicate for initial data and options:premier m.file:
fonction [F]=obj(x)
t1=1;
t2=1;
t3=1;
f(1)=t1*(x(1)-x(4));
f(2)=t2*(x(2)-x(5));
f(3)=t3*(x(3)-x(6));
end
second m.file:
(x(1)^2-1)=0;
(x(2)^2-4)=0;
(x(3)^2-9)=0;
t1*(x(1))-x(4)=0;
t2*(x(2))-x(5)=0;
t3*(x(3))-x(6)=0;
third m.file:
x0=[1 2 3 1 2 3];
how to make a simulation and change in t1 and t2 and t3 between [0,1: 1]? and how to draw the pareto curve of f(1) = function (f(2), f(3)).

답변 (1개)

Alan Weiss
Alan Weiss 2020년 5월 12일
Your three objective functions are t(1)(x(1) - x(4)),..., and your second condition contains the equations t(1)(x(1) - x(4)) = 0,...
So how can you expect to minimize anything? You have already constrained the objectives to all be zero, whatever the variables are.
Furthermore, the second equation can be solved to say x(1) = ±1, x(2) = ±2, and x(3) = ±3. So what is there to plot? What is there to compute?
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 2
Zinedine Gueddal
Zinedine Gueddal 2020년 5월 13일
excuse me, i tramped the data: i have 3 m.file when i look for maximize f(x) and simulate the change of t1, t2, t3 between [0.5:1.5] and draw the pareto 3D curve of f(1)=[f(2), f(3)] following changes to t1, then t2, then t3
m.file (1):
function F = fun(x)
t1=1;
t2=1;
t3=1;
F(1)=x(1);
F(2)=x(2);
F(3)=x(3);
m.file(2):
function [CCC,ceq]=confuneq(x)
t1=1;
t2=1;
t3=1;
CCC=[];
ceq=[((x(1)^2)-1)-x(4)
((x(2)^2)-4)-x(5);
((x(3)^2)-9)-x(6);
t1*x(1)-(1/2)*(x(2));
t2*x(2)-(2/3)*(x(3));
t3*x(3)-x(1)-x(2)];
m.file(3)
x0=[1 2 3 0 0 0];
lb=[0 0 0 0 0 0];
options = optimoptions('gamultiobj','UseParallel',true,'plotFcn',{@gaplotpareto,@gaplotscorediversity});
[x,fval,exitflag,output] = gamultiobj(@fun,6,[],[],[],[],lb,[],@confuneq);
result:
Infeasible individuals are present in the final population.
Optimization terminated: average change in the spread of Pareto solutions less than options.FunctionTolerance.
Constraints are not satisfied within constraint tolerance.
x=[2,14099260945409 2,84568488801590 4,14148670616499 3,58384930477328 4,09792249880503 8,15191211772837]
fval=[2,14099260945409 2,84568488801590 4,14148670616499]
were is the problem? why don't affichate courbe of pareto?
how i can simulate the change in t1 then t2 then t3 [0.5:1.5] and trace courbe pareto 3D for f(1)= [f(2), f(3)]?
Zinedine Gueddal
Zinedine Gueddal 2020년 5월 16일
I need your help and guidance

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Multiobjective Optimization에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by