多目标规划

多个目标函数,之间可以用他们的重要程度分析,来一次进行这个序贯算法,当然也可以无限逼近的方案——​

clc,clear;
% 约束
a = [- -
- - ];
b = [-
- ];
% 求两次单一目标函数
c1 = [- - - -];
c2 = [ ];

% 单一目标值 g1,g2
[x1,g1] = linprog(c1,a,b,[],[],zeros(,));
[x2,g2] = linprog(c2,a,b,[],[],zeros(,));

% 组合多目标规划,fgoalattain
g3 = [g1
g2];

[x,fval] = fgoalattain('Fun',rand(,),g3,abs(g3),a,b,[],[],zeros(,));

如何设置权重weight呢?

比如:

 

第一个式子的重要程度是20%,第二个式子的重要程度是80%。

哈哈,想到这里,其实是错误的,可以有这种想法,但是我们的多目标规划问题,就是要无限逼近这两个目标,不存在说两个式子哪个重要。哪个重要,还不如用我们的之前的那个序贯算法呢。看看MATLAB官方文档是如何说的这个参数。

A weighting vector to control the relative underattainment or overattainment of the objectives in fgoalattain. When the values of goal are all nonzero, to ensure the same percentage of under- or overattainment of the active objectives, set the weighting function to abs(goal). (The active objectives are the set of objectives that are barriers to further improvement of the goals at the solution.)Note Setting a component of the weight vector to zero will cause the corresponding goal constraint to be treated as a hard constraint rather than as a goal constraint. An alternative method to set a hard constraint is to use the input argument nonlcon.
When the weighting function weight is positive, fgoalattain attempts to make the objectives less than the goal values. To make the objective functions greater than the goal values, set weight to be negative rather than positive. To make an objective function as near as possible to a goal value, use theEqualityGoalCount option and put that objective as the first element of the vector returned by fun (see the preceding description of fun and options).

多目标规划——fgoalattain的更多相关文章

  1. APS技术中的多目标规划问题

    在进行APS(高级计划与排程)系统开发时,绝大多数情况下是需要考虑多目标的.但面对多目标问题进行规划求解时,我们往往极容易因处理方法不当,而影响输出结果,令结果与用户期望产生较大差别.事实上很多时候用 ...

  2. MATLAB学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划

    Minf(x)=-5x1  -4x2  -6x3                x1   -x2    +x3  <=20              3x1  +2x2 +4x3 <=42 ...

  3. 建模算法(十一)——目标规划

    求解多目标规划的思路 1.加权系数法 为每一个目标加一个权系数,把多目标模型转化成单一目标模型.但是困难时确定合理的权系数,以反映不同目标之间的重要程度. 2.优先等级法 将各目标按其重要程度分为不同 ...

  4. [MCM] 多目标优化 MOP(multi-objective programming)

    生活中许多问题都是由相互冲突和影响的多个目标组成.人们会经常遇到使多个目标在给定区域同时尽可能最佳的优化问题,也就是多目标优化问题.优化问题存在的优化目标超过一个并需要同时处理就成为多目标优化问题. ...

  5. 2018年高教社杯全国大学生数学建模竞赛D题解题思路

    题目 D题   汽车总装线的配置问题 一.问题背景 某汽车公司生产多种型号的汽车,每种型号由品牌.配置.动力.驱动.颜色5种属性确定.品牌分为A1和A2两种,配置分为B1.B2.B3.B4.B5和B6 ...

  6. MATLAB统计工具箱 转

    D:\Program Files\MATLAB\R2012b\toolbox\stats\stats MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析. ...

  7. Algorithm-多目标优化-博文路径

    参考博文: 多目标进化算法(MOEA)概述: https://blog.csdn.net/qithon/article/details/72885053 多目标优化问题的算法及其求解: https:/ ...

  8. 袁新生《LINGO和Excel在数学建模中的应用》

    内容介绍 本书深入浅出地介绍了LINGO的基础知识.用LINGO语言描述现实问题的方法和用Excel处理数据的方法,重点是这两种软件在解决各种优化问题以及在数学建模中的应用,通过丰富的实例介绍了把实际 ...

  9. APS实现的要点与难点

    在前一篇关于文章中讨论了不同层级.粒度的生产计划,在各行业中受重视程度的差异问题. 承蒙大家热烈讨论.本文则在收集各方高见的基础上,对于供应链上各个环节的运营.生产计划再作稍微深入一点的探讨.本文将列 ...

随机推荐

  1. TCP/IP协议分为哪四层,具体作用是什么。

    TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP).文件传输协议(FTP).网络远 ...

  2. zabbix CentOS7 配置安装

    一,LAMP+zabbix环境安装 官网: https://www.zabbix.com/download rpm -ivh https://mirrors.aliyun.com/zabbix/zab ...

  3. 关于i18n

    现在工作主要负责小程序端,很少负责backend.最近的一个任务是配置多语言.因为一开始都是写死的中文,现在需要把那些变成英文. 狂搜了一波,其实网上的方法都不怎好.(可能就是一开始看的时候觉得好.) ...

  4. 利用wireshark和python分析网络

  5. keepalive学习之软件设计

    软件架构如下图所示: Keepalived 完全使用标准的ANSI/ISO C写出. 该软件主要围绕一个中央I/O复用分发器而设计,这个I/O复用分发器提供网络实时功能. 主要设计目标着重于从所有的模 ...

  6. 生成正射影像/DSM,等高线提取

    工具:ContextCapture,Globe Mapper 方法/步骤: 1.新建项目,导入影像,提交空三运算 在ContextCapture中新建项目,添加相关影像或视频和其他相关资源,资源,提交 ...

  7. core核心模块

    5. core核心模块 核心模块会通过compiler模块提供的调用compiler的功能, 将用户的输入转为VM直接的输入 编译模块用来编译, 而核心模块用来执行 在core.h文件中 // 不需要 ...

  8. java 读写操作大文件 BufferedReader和RandomAccessFile

    一 老问这问题,两个都答出来算加分项? 二 具体代码如下,没什么好说的直接说对比. BufferedReader和RandomAccessFile的区别RandomAccessFile 在数据越大,性 ...

  9. 【OSI】网络协议模型

    一.网络相关概念 IP地址: 主机 用于 路由寻址  用的数字标识 域名: 便于IP地址记忆 DNS: 通过注册的 域名 指向 ip 的服务 DDNS: 将用户的动态IP地址映射到一个固定的域名解析服 ...

  10. 深入理解JavaScript系列(2):揭秘命名函数表达式

    前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点. 简单的说,命名函数表 ...