EDA365电子论坛网
标题:
遗传算法
[打印本页]
作者:
uaidenp
时间:
2020-7-21 09:34
标题:
遗传算法
/*arguments参数*/
! ?: _* i/ N2 C. d9 j
c1=[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. D
e=[0;0;0;0;0;0;0;0;0;0;10200;300;750;2000]
( m! x: J' g7 j3 L' k3 k
r=[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- _" R
function 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 D
end
+ v5 z; J5 u/ o: y+ w, d) f
6 c/ Y% U) P, |$ _" Q, ~. s
/*main函数*/
# D+ C+ l3 q/ A* X9 R
ObjectFunction = @Fun1;
/ }; |1 ]: { m) B1 A- s
nvars = 14;%变量个数
; ~; I( T4 O* Z: a! p. }
LB = [0]%定义域下限
* Z' h2 p6 y( k
UB = [1]%定义域上限
9 I: [! ~9 ~- }" I1 T- K% r E
A=[-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+ Q
b=[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% }- h
end
% 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