matlab遗传算法求非线性规划,遗传算法解决非线性规划问题的Matlab程序

非线性整数规划的遗传算法Matlab程序(附图)

通常,非线性整数规划是一个具有指数复杂度的NP问题,如果约束较为复杂,Matlab优化工具箱和一些优化软件比如lingo等,常常无法应用,即使能应用也不能给出一个较为令人满意的解。这时就需要针对问题设计专门的优化算法。下面举一个遗传算法应用于非线性整数规划的编程实例,供大家参考!

模型的形式和适应度函数定义如下:

ef3e51b4480a0b9f7fe9a9ec193cdda5.png

这是一个具有200个01决策变量的多目标非线性整数规划,编写优化的目标函数如下,其中将多目标转化为单目标采用简单的加权处理。

function Fitness=FITNESS(x,FARM,e,q,w)

%% 适应度函数

% 输入参数列表

% x 决策变量构成的4×50的0-1矩阵

% FARM 细胞结构存储的当前种群,它包含了个体x

% e 4×50的系数矩阵

% q 4×50的系数矩阵

% w 1×50的系数矩阵

%%

gamma=0.98;

N=length(FARM);%种群规模

F1=zeros(1,N);

F2=zeros(1,N);

for i=1:N

xx=FARM{i};

ppp=(1-xx)+(1-q).*xx;

F1(i)=sum(w.*prod(ppp));

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值