please, I want someone to help me with MATLAB code for solving the non linear constrained equation as given below

조회 수: 1 (최근 30일)
Objective function Max f= 5/3 x_1^(3/44) x_2^(4/7) x_3^(3/40) x_4^(2/9) x_5^(1/6)
Constraints
17x_1+20x_2+10x_3+0.4x_4+1.5x_5≤240
x_4 ≤ 30
x_5≤ 100

채택된 답변

William Rose
William Rose 2022년 8월 9일
편집: William Rose 2022년 8월 9일
[edit: added lines to display -f(x) and constraint 1 at the solution point.]
Please carefully read the help for fmincon(). The name is short for "function minimization with constraints". Minimize the negative of your function. fmincon() can do exactly what you want, including the constraints. The examples in the help doc will be useful.
%vector x is what you want to find
fun = @(x)-5/3*x(1)^(3/44)*x(2)^(4/7)*x(3)^(3/40)*x(4)^(2/9)*x(5)^(1/6);
x0=[1,1,1,1,1]; %initial guess for the solution
%express first constraint in the form A*x<=b:
A=[17,20,10,0.4,1.5]; b=240;
%express constraints 2 and 3 by defining vectors lb and ub:
lb=[-Inf,-Inf,-Inf,-Inf,-Inf]; %no lower blound constraints
ub=[Inf,Inf,Inf,30,100]; %upper bounds on x(4),x(5)
x=fmincon(fun,x0,A,b,[],[],lb,ub);
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.
disp(x) %value of x at the solution
1.0376 7.3919 1.9404 30.0000 28.7462
disp(-fun(x)); %value of the function you wanted to maximize
20.5263
disp(A*x') %check constraint 1
240.0000
Note that constraint 1 is met exactly, constraint 2 is met exactly, and constraint 3 is not approached. Good luck.
  댓글 수: 4
Ezra Dzarma
Ezra Dzarma 2022년 8월 9일
Please, the question posted is a research question, I have been looking for a solution for a long time, I think there is nothing wrong in the response of prof Rose. Please, sorry in case you are offended Thank

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by