matlab求解多目标规划问题
一、多目标优化
- 有多个目标的最优化问题。
需要衡量每个目标的完成情况,并主观上区分多个目标的正确性,使得整体的完成情况尽量好。 - 多目标优化问题的数学模型:
- 多目标规划适用赛题:使xxx最少/多/利润最大,同时尽量xxxx
- 举例:2021年Mathorcup C题
二、衡量多目标优化的数学量
- 衡量每个目标的完成情况:正负偏差变量
设fi(i = 1,…,l)为第i个目标函数;
正偏差变量 di+ = max{fi - di0,0}表示实际值超过目标值的部分,负偏差变量di- = -min{fi - di0,0}表示实际值未达到目标值的部分,这里di0表示fi的目标值。 - 绝对约束和目标约束:
绝对约束是模型中自带的约束条件,必须满足,否则是不可行解。
目标约束是模型中对不等式右端追求的值有偏差。 - 优先因子:
在主观上确定多个目标的优先因子Pk(通常需要查阅文献)。
标题三、多目标优化问题的函数调用
- 函数fgoalattain
- 使用条件:需知各分目标的单个的最优值;需确定各分目标的加权系数。
- 调用格式:[x, fval, exitflag, output, grad, hessian] = fgoalattain(@fun, x0, goal, weight, A, b, Aeq, beq, lb, ub, ‘Nlc’, opyions, P1, P2…)
x:返回目标函数的最优解
fval:返回目标函数的最优值
exitflag:返回算法的终止标志
output:优化算法信息的一个数据结构
grad:返回目标函数在最优解的梯度
hessian:目标函数在最优解的黑塞矩阵
@fun:目标函数文件名
x0:初始值
goal:各分目标期望值
weight:各分目标权重
A:线性不等式约束的常数矩阵
b:线性不等式约束的常数向量
Aeq:线性等式约束的系数矩阵
beq:线性等式约束的常数向量
lb、ub:变量的下界和上界
Nlc:非线性约束条件的函数名
options:设置优化选项参数
P1、P2……:附加参数 - max f1(x) = -3x1 + 2x2,max f2(x) = 4x1 + 3x2,约束条件为2x1 + 3x2 ≤ 18;2*x1 + x2 ≤ 10;x1、x2 ≥ 0
goal=[12,24];
weight=[12,24];
x0=[0;0];
a=[2 3;2 1];
b=[18;10];
lb=[0;0];
[x,fval]=fgoalattain('mutiplesubjiect',goal,weight,x0,a,b,[],[],lb,[])
- 函数fminimax
- 使用条件:目标函数的最大值逐次减小。
- 调用格式:[x, fval, exitflag, output, grad, hessian] = fminimax(@fun, x0, goal, A, b, Aeq, beq, lb, ub, ‘Nlc’, opyions, P1, P2…)
x:返回目标函数的最优解
fval:返回目标函数的最优值
exitflag:返回算法的终止标志
output:优化算法信息的一个数据结构
grad:返回目标函数在最优解的梯度
hessian:目标函数在最优解的黑塞矩阵
@fun:目标函数文件名
x0:初始值
goal:各分目标期望值
A:线性不等式约束的常数矩阵
b:线性不等式约束的常数向量
Aeq:线性等式约束的系数矩阵
beq:线性等式约束的常数向量
lb、ub:变量的下界和上界
Nlc:非线性约束条件的函数名
options:设置优化选项参数
P1、P2……:附加参数
matlab求解多目标规划问题相关推荐
- 数学建模暑期集训15:matlab求解多目标规划模型
多目标规划模型的求解方法 1.传统优化算法 1.1主要目标法 1.2分层序列法 1.3加权法 1.4理想点法 2.智能优化算法 遗传算法等- 例题实战:MATLAB中多目标遗传算法求解法 通用形式 例 ...
- matlab 求解多目标规划
求解多目标规划 1.理想点法 clc,clear; close all; f=[3,-2];A=[2,3;2,1];b=[18;10];lb=[0;0]; [x,fval]=linprog(f,A,b ...
- MATLAB数学建模-规划模型总结| MATLAB求解
目录 1 线性规划问题(LP) 风格1 风格2 2 非线性规划 3 动态规划 A星算法 基于dijkstra的概率路线图 4 多目标规划 帕累托最优 支配(Dominace) 不可支配解集 帕累托最优 ...
- matlab解符号方程组,matlab 求解符号方程组
1特殊符号可爱组成的小狗图案 求解符号方程组: 特殊符号可爱组成的小狗图案,缺失:matlab求解符号方程组4057/9 ▄██████▄ █████████▄ ███ ▄████▄▄▄▄███ ██ ...
- matlab微分方程组边值,matlab求解常微分方程边值问题的方法
matlab求解常微分方程边值问题的方法 Matlab 求解常微分方程边值问题的方法:bvp4c 函数 常微分方程的边值问题,即 boundary value problems ,简称 BVP 问题, ...
- 【数字信号处理】线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )
文章目录 一.使用 matlab 求解 " 线性常系数差分方程 " 示例 1.B 向量元素 : x(n) 参数 2.A 向量元素 : y(n) 参数 3.输入序列 4.matlab ...
- 【数字信号处理】线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )
文章目录 一.卷积 与 " 线性常系数差分方程 " 二.使用 matlab 求解 " 线性常系数差分方程 " 一.卷积 与 " 线性常系数差分方程 & ...
- 2021-01-13 Matlab求解微分代数方程 (DAE)
Matlab求解微分代数方程 (DAE) 什么是微分代数方程? 微分代数方程是一类微分方程,其中一个或多个因变量导数未出现在方程中.方程中出现的未包含其导数的变量称为代数变量,代数变量的存在意味着不能 ...
- MATLAB求解常微分方程
MATLAB求解微分方程_Falcon的博客-CSDN博客_matlab微分方程求解 matlab求解常微分方程(组)---dsolve.ode系列函数详解(含例程)_假电工的真的博客-CSDN博客_ ...
最新文章
- mycheckpoint
- 关于内核页表和进程页表的一个问题
- Java异常处理教程(包含示例和最佳实践)
- php全选按钮怎么写,PHP中的“全选”复选框,其中包含header.php
- dt程序网站服务器配置,ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot)
- 张雁飞 mysql_张雁飞:新一代分布式关系型数据库RadonDB
- React-Native 之 GD (六)无数据情况处理
- python颜色表_Python:数据可视化,必须注意的30个小技巧
- 中英文对照 —— 心理/神经科学
- (三)线程同步工具集_1---控制线程并发访问一个资源
- 搭建完全分布式的hadoop[转]
- java中定义存放汉字的数组_Java中如何存储汉字
- 微信小程序,点击右上角返回箭头,返回指定页面
- java打造手机远程控制电脑之详细教程
- 使用Unity实现时光倒流
- 在Qt中设置程序图标的方法介绍
- Systemback使用精简教程
- wxPython 4.2.0 发布
- M2VoC比赛论文——台湾大学
- Vue 一套构建用户界面的渐进式的框架(条件与循环篇~)