多目标规划——fgoalattain
多目标规划
多个目标函数,之间可以用他们的重要程度分析,来一次进行这个序贯算法,当然也可以无限逼近的方案——
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的更多相关文章
- APS技术中的多目标规划问题
在进行APS(高级计划与排程)系统开发时,绝大多数情况下是需要考虑多目标的.但面对多目标问题进行规划求解时,我们往往极容易因处理方法不当,而影响输出结果,令结果与用户期望产生较大差别.事实上很多时候用 ...
- MATLAB学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划
Minf(x)=-5x1 -4x2 -6x3 x1 -x2 +x3 <=20 3x1 +2x2 +4x3 <=42 ...
- 建模算法(十一)——目标规划
求解多目标规划的思路 1.加权系数法 为每一个目标加一个权系数,把多目标模型转化成单一目标模型.但是困难时确定合理的权系数,以反映不同目标之间的重要程度. 2.优先等级法 将各目标按其重要程度分为不同 ...
- [MCM] 多目标优化 MOP(multi-objective programming)
生活中许多问题都是由相互冲突和影响的多个目标组成.人们会经常遇到使多个目标在给定区域同时尽可能最佳的优化问题,也就是多目标优化问题.优化问题存在的优化目标超过一个并需要同时处理就成为多目标优化问题. ...
- 2018年高教社杯全国大学生数学建模竞赛D题解题思路
题目 D题 汽车总装线的配置问题 一.问题背景 某汽车公司生产多种型号的汽车,每种型号由品牌.配置.动力.驱动.颜色5种属性确定.品牌分为A1和A2两种,配置分为B1.B2.B3.B4.B5和B6 ...
- MATLAB统计工具箱 转
D:\Program Files\MATLAB\R2012b\toolbox\stats\stats MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析. ...
- Algorithm-多目标优化-博文路径
参考博文: 多目标进化算法(MOEA)概述: https://blog.csdn.net/qithon/article/details/72885053 多目标优化问题的算法及其求解: https:/ ...
- 袁新生《LINGO和Excel在数学建模中的应用》
内容介绍 本书深入浅出地介绍了LINGO的基础知识.用LINGO语言描述现实问题的方法和用Excel处理数据的方法,重点是这两种软件在解决各种优化问题以及在数学建模中的应用,通过丰富的实例介绍了把实际 ...
- APS实现的要点与难点
在前一篇关于文章中讨论了不同层级.粒度的生产计划,在各行业中受重视程度的差异问题. 承蒙大家热烈讨论.本文则在收集各方高见的基础上,对于供应链上各个环节的运营.生产计划再作稍微深入一点的探讨.本文将列 ...
随机推荐
- PIE SDK彩色标准化融合
1.算法功能简介 色彩标准化融合对彩色图像和高分辨率图像进行数学合成,从而使图像得到锐化.色彩归一化变换也被称为能量分离变换( Energy Subdivision Transform),它使用来自融 ...
- 带OUTPUT的增删改
sql server2005以后引入: 执行的sql语句中加入output可以事实输出处理的内容 go --插入并返回每行的插入值 DECLARE @NewRows TABLE(Id INT ,NAM ...
- html中的flv视频播放器
项目中要播放flv视屏,第一时间想到html5的<video>标签,只是很可惜<video>兼容性差也就算了,居然还对格式有明确限制,也就是说只支持Ogg.MPEG4.WebM ...
- ListView与ArrayAdapter的搭配使用
在android中,ListView是一种很重要的控件,一般的使用中,常建立一个所需类型的ArrayList,再通过ArrayAdapter把ListView绑定到ArrayList上,通过Array ...
- [转]在ASP.NET Core使用Middleware模拟Custom Error Page功能
本文转自:http://www.cnblogs.com/maxzhang1985/p/5974429.html 阅读目录 一.使用场景 二..NET Core实现 三.源代码 回到目录 一.使用场景 ...
- 修改Linux时区的2种办法
由于Azure 上所有的服务时间都采用了 UTC 时间.UTC 时间比中国时间晚 8 个小时,该如何按照自己的需要来进行修改呢,下面提供2种办法以供参考: 1.修改 /etc/localtime 文件 ...
- [MySQL] - MySQL连接字符串总结
来源:http://blog.sina.com.cn/s/blog_5f0dab1e0100e4pv.html?retcode=0 一.MySQL Connector/ODBC 2.50 (MyODB ...
- Django分页解析
分页 django中实现管理数据分页的类位于 django.core.paginator.py中 Paginator类 对列表数据进行分页处理 对象 Paginator(Post.objects.al ...
- java中的集合和视图
一.集合的概念 何为集合,集合就是相当于一个对象的容器.集合是类似数组的一个作用.既然有了数组,为何还要有集合呢,由于数组对象一旦创建,其大小便不可以更改,我们只能往数组中存放创建时数量的对象.而集合 ...
- vue 路由权限
import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorl ...