非线性整数规划的遗传算法 Matlab 程序(附图)
通常,非线性整数规划是一个具有指数复杂度的 NP 问题,如果约束较为
复杂,Matlab 优化工具箱和一些优化软件比如 lingo 等,常常无法应用,即使
能 应用也不能给出一个较为令人满意的解。这时就需要针对问题设计专门的优
化算法。下面举一个遗传算法应用于非线性整数规划的编程实例,供大家参考
模型的形式和适应度函数定义如下 1:
这是一个具有 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};
- 1
- 2
前往页