博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多目标规划——fgoalattain
阅读量:7046 次
发布时间:2019-06-28

本文共 1726 字,大约阅读时间需要 5 分钟。

多目标规划

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

clc,clear;% 约束a = [-1 -1 0 0    0 0 -1 -1    3 0 2 0    0 3 0 2];b = [-30    -30    120    48];% 求两次单一目标函数c1 = [-100 -90 -80 -70];c2 = [0 3 0 2];​% 单一目标值 g1,g2[x1,g1] = linprog(c1,a,b,[],[],zeros(4,1));[x2,g2] = linprog(c2,a,b,[],[],zeros(4,1));​% 组合多目标规划,fgoalattaing3 = [g1    g2];​[x,fval] = fgoalattain('Fun',rand(4,1),g3,abs(g3),a,b,[],[],zeros(4,1));

 

如何设置权重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).

转载于:https://www.cnblogs.com/TreeDream/p/8309243.html

你可能感兴趣的文章
hadoop: hdfs API示例
查看>>
供应商地点信息更新(转)
查看>>
【转】使用DateFormat把时间长度格式化为"时:分:秒"格式--不错
查看>>
从统计学角度来看深度学习(2):自动编码器和自由能
查看>>
[Python]Unicode转ascii码的一个好方法
查看>>
jQuery用户数字评分效果
查看>>
Python爬行动物(一):基本概念
查看>>
solr4.5配置中文分词器mmseg4j
查看>>
MobaSSH SSH server for Windows - Download Home Edition
查看>>
文章之间的基本总结:Activity生命周期
查看>>
数据库sqlserver2008登陆名密码登陆不了怎么办?
查看>>
projecteuler---->problem=19----Counting Sundays
查看>>
CSS鼠标样式整理
查看>>
移动加密那点事儿_值存储加密
查看>>
Unity3D之空间转换学习笔记(三):3D数学
查看>>
jquery.lazyload.js图片延迟加载
查看>>
Atitit.异步编程 java .net php python js 对照
查看>>
手机网站和PC网站兼容的响应式网页设计
查看>>
设计与实现模块管理系统基本功能定义自己(18--设计模块附件[1])
查看>>
PHP大小写是否敏感问题
查看>>