how to maximize this nonlinear function z and find the value of x and y,
z= 0.031 {0.009[exp⁡(x-z)-1]+x/1.14}-(-1+√(1+y^4/x))/y
10<=x<=20 and y>=0

 채택된 답변

Matt J
Matt J 2021년 4월 26일

0 개 추천

With fmincon, if you have Optimization Toolbox.

댓글 수: 19

Hayam Wahdan
Hayam Wahdan 2021년 4월 26일
The main problem of this optimization problem, the objective function z is calculated in terms of the same value of z
Matt J
Matt J 2021년 4월 26일
편집: Matt J 2021년 4월 26일
You "objective" is really an equality constraint:
Hayam Wahdan
Hayam Wahdan 2021년 4월 26일
After this assumption, the problem contains three decision variables x,y and z?
Matt J
Matt J 2021년 4월 26일
Yes, that's right.
How fminco function solve this optimization problem
Min -Z
St
Z-....=0
d>=100
d<=300
v>=0
Matt J
Matt J 2021년 4월 26일
Did you already get it to work on your original problem, and if so how is this new version different?
Hayam Wahdan
Hayam Wahdan 2021년 4월 26일
I want to ask, can this function solve this optimization problem subject to non-linear constraints
Yes, see the nonlcon parameter of fmincon.
Matt J
Matt J 2021년 4월 26일
편집: Matt J 2021년 4월 26일
I want to ask, can this function solve this optimization problem subject to non-linear constraints
Yes, see this example in the documentation:
Note that you don't really have to ensure that the initial guess satisfy the constraints, as they do in the example, but it can be beneficial to do so.
Hayam Wahdan
Hayam Wahdan 2021년 4월 27일
Can you help me in writing this MATLAB function Min -Z St z= 0.031 {0.009[exp(x-z)-1]+x/1.14}-(-1+√(1+y^4/x))/y 10<=x<=20 and y>0
fmincon thinks you can get an arbitrarily large result if you make y arbitrarily large.
format long g
obj = @(xyz) -xyz(3);
A = []; b = []; Aeq = []; beq = [];
lb = [10, realmin, -inf];
ub = [20 1e9 1e9];
nl = @(x,y,z) 0.031*(0.009*(exp(x-z)-1)+x./1.14)-(-1+sqrt(1+y^4./x))./y - z
nl = function_handle with value:
@(x,y,z)0.031*(0.009*(exp(x-z)-1)+x./1.14)-(-1+sqrt(1+y^4./x))./y-z
nonlcon = @(xyz) deal(nl(xyz(1), xyz(2), xyz(3)), []);
xyz0 = [.1 .2 .3]
xyz0 = 1×3
0.1 0.2 0.3
[best, fval] = fmincon(obj, xyz0, A, b, Aeq, beq, lb, ub, nonlcon)
Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
best = 1×3
17.9264664551072 190469849.537475 999999999.999999
fval =
-999999999.999999
Please re-check your equations. I suspect that the sqrt() is intended to extend over the /y as well, which is not what you have coded.
Hayam Wahdan
Hayam Wahdan 2021년 4월 28일
Thank you very much for your quick reply,
when i tried this code, gave me error in this line
[best, fval] = fmincon(obj, v0, A, b, Aeq, beq, lb, ub, nonlcon)
What was the error message?
Hayam Wahdan
Hayam Wahdan 2021년 4월 28일
Error using barrier
Nonlinear constraint function is undefined at initial point. Fmincon cannot continue.
Error in fmincon (line 798)
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN] = barrier(funfcn,X,A,B,Aeq,Beq,l,u,confcn,options.HessFcn, ...
Error in nonlinear (line 11)
[best, fval] = fmincon(obj, vdJ0, A, b, Aeq, beq, lb, ub, nonlcon)
please post the complete code you used.
Hayam Wahdan
Hayam Wahdan 2021년 4월 28일
편집: Walter Roberson 2021년 4월 28일
format long g
obj = @(xyz) -xyz(3);
A = []; b = []; Aeq = []; beq = [];
lb = [100, realmin, -inf];
ub = [300 1e9 1e9];
%nl = @(x,y,z) 0.031*(0.009*(exp(x-z)-1)+x./1.14)-(-1+sqrt(1+y^4./x))./y - z
w=10^-15*exp(-2.897*10^22*25^-1);
nl = @(x,y,z) 0.055*(w*(exp(5802*(x-19.5*z))-1)+x./1.14)-(-1+sqrt(1+0.5272*y^4./x^2.))/(2.6328 *10^9*y) - z;
nonlcon = @(xyz) deal(nl(xyz(1), xyz(2), xyz(3)), []);
xyz0 = [.1 .2 .3];
[best, fval] = fmincon(obj, xyz0, A, b, Aeq, beq, lb, ub, nonlcon)
w=10^-15*exp(-2.897*10^22*25^-1);
You badly need to rescale !!
exp(-1158800000000000000000) is about
Effectively your w is 0.
Hayam Wahdan
Hayam Wahdan 2021년 4월 28일
Thank you very much, I will rescale it

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기

질문:

2021년 4월 26일

댓글:

2021년 4월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by