EDA365电子论坛网

标题: 遗传算法 [打印本页]

作者: uaidenp    时间: 2020-7-21 09:34
标题: 遗传算法
/*arguments参数*/
! ?: _* i/ N2 C. d9 jc1=[16000;500;350;500;2500;1000;0;0;0;0;0;0;0;0]& H3 R# Y7 D8 J3 N# Q3 Y# b$ V
c2=[3250;1000;350;500;2500;1000;28;27;7;44;0;0;0;0]9 o( N' F) S9 F8 @9 A
mypi=[1600;425;213;213;2600;750;11;11;3;18;40800;1200;3000;8000]
& T3 w- @; k1 a. De=[0;0;0;0;0;0;0;0;0;0;10200;300;750;2000]
( m! x: J' g7 j3 L' k3 kr=[5;4;3;3;3;3;1;1;1;1;2;0;1;0]0 I6 Y) o% P% H4 U

0 e8 Q/ Y0 B' W4 P% g; }/*fun1*/
/ s& ~- F. P$ @$ i- _" Rfunction f=Fun1(x,E,mypi)
+ s" V2 w% `- S6 u6 ?" e    f=x*(E-mypi)-85*x(3)*x(4)-3400*x(12)*x(13)*x(14);
7 u# g& g' e# [  |3 C4 k+ @8 v+ V  Dend+ v5 z; J5 u/ o: y+ w, d) f

6 c/ Y% U) P, |$ _" Q, ~. s/*main函数*/
# D+ C+ l3 q/ A* X9 RObjectFunction = @Fun1;
/ }; |1 ]: {  m) B1 A- snvars = 14;%变量个数; ~; I( T4 O* Z: a! p. }
LB = [0]%定义域下限
* Z' h2 p6 y( kUB = [1]%定义域上限
9 I: [! ~9 ~- }" I1 T- K% r  EA=[-1,0,0,0,0,0,0,0,0,0,0,0,0,0;-1,1,0,0,0,0,0,0,0,0,0,0,0,0;0,-1,1,0,0,0,0,0,0,0,0,0,0,0;0,-1,0,1,0,0,0,0,0,0,0,0,0,0;0,0,0,0,-1,0,1,0,0,0,0,0,0,0;0,0,0,0,-1,0,0,1,0,0,0,0,0,0;0,0,0,0,-1,0,0,0,1,0,0,0,0,0;0,0,0,0,-1,0,0,0,0,1,0,0,0,0;-1,0,0,0,0,0,0,0,0,0,1,0,0,0;0,0,0,0,0,0,0,0,0,0,-1,1,0,0;0,0,0,0,0,0,0,0,0,0,-1,0,1,0;0,0,0,0,0,0,0,0,0,0,-1,0,0,1]
6 O$ `, z, d- h1 ?' a# Y+ Qb=[1;0;0;0;0;0;0;0;0;0;0;0]4 {( y$ v" N8 {% g. [
[x,fval] = ga(ObjectiveFunction,nvars,A,b,[],[],LB,UB,NonCon)%调用ga函数
* z+ Q" l) H9 p6 v+ L' J/ S3 r. }  r
) ?: m; K3 S2 g5 D6 b% W
/*非线性约束NonCon*/4 I) {: r2 Q' J  h. F' w
function [c,ceq] = NonCon(x)
5 e$ h: g8 t! I) `8 w& U" p    %UNTITLED2 此处提供此函数的摘要
0 g, I6 x7 |' G0 p" ?/ h    %   此处提供详细说明
. _+ F3 l6 w0 F( F4 h# J   c=[[x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12),x(13),x(14)]*[16000;500;350;500;2500;1000;0;0;0;0;0;0;0;0]-268*x(3)*x(4)-350*x(4)*x(5)-250*x(4)*x(6)-600*x(4)*x(5)*x(6)-20000;[x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10),x(11),x(12),x(13),x(14)]*[3250;1000;350;500;2500;1000;28;27;7;44;0;0;0;0]-155*x(2)*x(3)-255*x(2)*x(4)-188*x(4)*x(3)-200*x(4)*x(5)-175*x(4)*x(6)-125*x(5)*x(6)-375*x(4)*x(5)*x(6)-6000];: X& D5 W; K8 k3 j- L9 i/ `4 s
   ceq=[];
4 K2 }9 g/ D9 Y7 f% }- hend
% R* T% W& r, X( }/ E9 W/ ?3 F+ [# c# l+ ]$ X8 y' x. y

3 n  J+ }" `8 Q9 d& e' ?! H2 }这个一直报错输入参数不足,错误在Noncon.m的line4,请教大神
# W; ^( W0 v5 I; V" Q$ o
作者: lupkpu9    时间: 2020-7-21 10:20

% ^) i: D; |$ ~- o+ }& Y5 W在主函数里你没有给NoNcon传递参数
作者: cichishia    时间: 2020-7-23 13:21
来学习一下
作者: uaidenp    时间: 2020-7-27 09:45
lupkpu9 发表于 2020-7-21 10:20
+ a% b3 U% s' V7 c在主函数里你没有给NoNcon传递参数

0 F$ ~) B, j: A) l* t& j那请问要怎么改呢7 c7 {7 d+ Y* [7 M! z

作者: 小白的白    时间: 2020-7-28 10:10





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2