数学建模暑期集训15:matlab求解多目标规划模型
2023-09-14 09:01:37 时间
多目标规划模型的求解方法
1.传统优化算法
1.1主要目标法
1.2分层序列法
1.3加权法
1.4理想点法
2.智能优化算法
遗传算法等…
例题实战:MATLAB中多目标遗传算法求解法
通用形式
例1:
matlab求解:
Fun.m
function y=Fun(x)
y(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2;
y(2)=x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2);
main.m
clear
clc
fitnessfcn=@Fun;%适应度函数句柄
nvars=2; %变量个数
lb=[-5,-5]; %下限
ub=[5,5]; %上限
A=[];b=[]; %线性不等式约束
Aeq=[];beq=[]; %线性等式约束
options=gaoptimset('paretoFraction',0.3,'populationsize',200,'generations',200,'stallGenLimit',200,'TolFun',1e-10,'PlotFcns',@gaplotpareto);
% 最优个体系数paretoFraction为0.3;
%种群大小populationsize为100,
%最大进化代数generations为200,
% 停止代数stallGenLimit为200,
%适应度函数偏差TolFun设为1e-10,
%函数gaplotpareto:绘制Pareto前沿
[x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)
例2:
matlab求解:
Fun.m
function y=Fun(x)
y(1)=x(1);
y(2)=(1+x(2))/x(1);
nonlcon.m
function [c,ceq] = nonlcon(x)
c =[];
ceq =[x(1)^2+x(2)^2-2];
main.m
clear
clc
fitnessfcn=@Fun;
nvars=2;
lb=[0.1,0];
ub=[1,5];
A=[-9,-1;-9,1];b=[-6;-1];
Aeq=[];beq=[];
nonlinearCons = @nonlcon;
options=gaoptimset('paretoFraction',0.4,'populationsize',200,'generations',300,'stallGenLimit',300,'TolFun',1e-10,'PlotFcns',@gaplotpareto);
[x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,nonlinearCons,options)
例3:
matlab求解:
fitness.m
function F = fitness(x)
F(1) = -100*x(1) - 80*x(2)- 90*x(3) - 70*x(4);
F(2) = 30*x(3) + 20*x(4);
F(3) = 50*x(1) +40*x(2)
main.m
clear
clc
fit = @fitness;
nvars = 4;
lb = [0 0 0 0];
ub = [];
A = [3, 2, 0, 0; -3, -2, 0, 0; 0, 0, 3, 2; 0, 0, -3, -2; -1, 0, -1, 0; 0, -1, 0, -1];
b = [120 0 48 0 -30 -30];
options = gaoptimset('paretoFraction',0.4,'populationsize',200,'generations',300,'stallGenLimit',200,'TolFun',1e-10);
[x,fval] = gamultiobj(fit,nvars,A,b,[],[],lb,ub,options)
plot3(fval(:,1),fval(:,2),fval(:,3),'pr')
xlabel('f_1(x)')
ylabel('f_2(x)')
zlabel('f_3(x)')
title('Pareto front')
grid on
相关文章
- 神经网络及其简单实现(MATLAB)
- MATLAB学习笔记 视频读取、图像序列合并为视频
- 数学建模暑期集训20:层次聚类法matlab+python
- 数学建模学习笔记(十三)神经网络——中:matlab程序实现
- 数学建模学习笔记(六)多元回归分析算法(matlab)
- matlab 点云alphaShape曲面重构
- 【DSP视频教程】DSP视频教程第7期:Matlab的wifi通信实现,大大方便波形数据远程分析(2022-04-22)
- 【5.1送礼】国内第一部Matlab和C#.Net混合编程视频教程【免费】
- 基于节点导纳矩阵的三相配电系统建模(Matlab实现)
- 网格搜索多个监督学习模型上的超参数,包括神经网络、随机森林和树集合模型(Matlab代码实现)
- 基于改进的DBN降水预测方法(Matlab代码实现)
- 【数学建模】多元线性回归(Python&Matlab代码实现)
- 四旋翼飞行器建模与PID控制器设计(Matlab&Simulink)
- 【物理应用】使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)
- 【通信原理】基于matlab实现OFDM通信系统的仿真
- 【MATLAB】求微分方程的通解
- 数学建模学习(82):模拟退火算法(SA,matlab版本)
- 数学建模学习(77):matlab相关性分析(皮尔逊,肯德尔,斯皮尔曼)
- m基于5G毫米波场景Salen-Valenzula信道建模与matlab仿真
- m基于遗传优化的阈值分割算法的雾天图像去雾增强matlab仿真
- 基于LSTM-RNN的深度学习网络的训练对比matlab仿真
- m基于分段蚁群算法优化SVM的数据预测matlab仿真
- 无人机视角展示(无人机图像定位 )--某数学建模A题MATLAB代码
- MATLAB中导入数据:importdata函数
- 匹配滤波器及matlab仿真
- 基于汉明软译码和球型译码的通信链路误码率matlab仿真
- Matlab: tf2zp与tf2zpk的差异