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