How to code the given below nonlinear constrained optimization problem using genetic algorithm in matlab?

I need to optimize (minimize) the function,
f = (632.7*((x(1)*1000)^1.327)) + (506.16*((x(2)*1000)^1.327))...
+ (759.24*((x(3)*1000)^1.327)) + (253.08*((x(4)*1000)^1.327));
subjected to the following nonlinear constraints:
ceq(1) = (100*0.971014*(x(1)^2.63)/((abs(100 - x(5)))^0.46))...
- (x(5)*((0.971014*(x(1)^2.63)/((abs(100 - x(5)))^0.46))...
+ (1.09536*(x(2)^2.63)/((abs(x(5) - x(6)))^0.46))))...
+ (x(6)*1.09536*(x(2)^2.63)/((abs(x(5) - x(6)))^0.46)) - (2/60);
ceq(2) = (x(5)*1.09536*(x(2)^2.63)/((abs(x(5) - x(6)))^0.46))...
- (x(6)*((0.879969*(x(3)^2.63)/((abs(x(6) - x(7)))^0.46))...
+ (1.09536*(x(2)^2.63)/((abs(x(5) - x(6)))^0.46))))...
+ (x(7)*0.879969*(x(3)^2.63)/((abs(x(6) - x(7)))^0.46)) - (5/60);
ceq(3) = (100*1.592623*(x(4)^2.63)/((abs(100 - x(7)))^0.46))...
- (x(7)*((0.879969*(x(3)^2.63)/((abs(x(6) - x(7)))^0.46))...
+ (1.592623*(x(4)^2.63)/((abs(100 - x(7)))^0.46))))...
+ (x(6)*0.879969*(x(3)^2.63)/((abs(x(6) - x(7)))^0.46))...
- (3/60);
c = [];
number of variables = 7
LB = [0.15 0.15 0.15 0.15 90 90 90];
UB = [1 1 1 1 100 100 100];
There are no linear (equality and inequality) constraints. >>When I used the ga in solver, I got incorrect answers. Kindly help me by providing the coding for this problem.

댓글 수: 2

Use fmincon instead of ga.
Best wishes
Torsten.
In addition to what Torsten suggested, allow me to suggest that you mark your question with the {} Code button so that we might be able to read it more easily.
Alan Weiss
MATLAB mathematical toolbox documentation

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

답변 (1개)

Matt J
Matt J 2015년 11월 4일
편집: Matt J 2015년 11월 4일
If you know the solution that ga() gave you is incorrect, then you must know, approximately at least, what the solution must be. You can use gaoptimset to put that approximate point in the initial population and inform ga's search. You would be well-advised incorporate all prior knowledge that you have into the the initial population somehow, since the problem does look pretty horrible...
There are no linear (equality and inequality) constraints
You might want to add some. Denominator expressions like abs(x(6) - x(7) need to be kept away from zero.

카테고리

도움말 센터File Exchange에서 Get Started with Optimization Toolbox에 대해 자세히 알아보기

질문:

2015년 11월 4일

편집:

2015년 11월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by