求解多目标规划的思路

1、加权系数法

为每一个目标加一个权系数,把多目标模型转化成单一目标模型。但是困难时确定合理的权系数,以反映不同目标之间的重要程度。

2、优先等级法

将各目标按其重要程度分为不同的优先等级,转化为单目标模型。

3、有效解法

寻求能够照顾到各个目标,并使决策者感到满意的解。由决策者来确定选取哪一个解,即得到满意的解。但是有效解太多,无法挑选

一、目标规划的数学模型

1、正、负偏差变量

2、绝对约束和目标约束

(1)绝对约束:一定要达到的要求,线性规划的约束条件都是

(2)软约束(目标约束):就是在这个目标值允许有一定的正负偏差存在。

3、优先因子(优先等级)与权系数

一个规划问题如果有多个目标,可以按照重要性来规定一个优先因子P,越重要的越优先。

4、目标规划的目标函数

每一个目标值确定后,要求是尽可能小的缩小偏差。因此目标函数只能是,有三种形式

(1)要求恰好达到目标值,即正负偏差都要小

(2)要求不超过目标值,正偏差小

(3)要求超过目标值,负偏差小

5、目标规划的一般数学模型

二、求解目标规划的序贯式模型

解题思路:

按照优先级的先后次序,将目标规划问题分解成一系列的单项目标规划问题。然后再依次求解。(由于使用LINGO求解,暂时忽略)

三、多目标规划的MATLAB解法

1、一般模型

2、MATLAB封装的函数

[x,fval]=fgoalattain('fun',x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)

(1)fun是用M文件定义的目标向量函数

(2)x0是初值,一般弄个随机列向量

(3)weight为权重,一般为goal的绝对值

(4)A,b定义不等式约束A*x<=b,Aeq,beq定义等式约束

(5)nonlcon是用M文件定义的非线性约束条件c(x)<=0,ceq(x)=0

(6)返回值,x是最优解,fval是最优值

3、例子

function F=Fun(x)
F(1)=-100*x(1)-90*x(2)-80*x(3)-70*x(4);
F(2)=3*x(2)+2*x(4);
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 ]; [x1,g1]=linprog(c1,a,b,[],[],zeros(4,1))
[x2,g2]=linprog(c2,a,b,[],[],zeros(4,1)) g3=[g1;g2];
[x,fval]=fgoalattain('Fun',rand(4,1),g3,abs(g3),a,b,[],[],zeros(4,1));

建模算法(十一)——目标规划的更多相关文章

  1. 建模算法(一)——线性规划

    一.解决问题 主要是安排现有资源(一定),取得最好的效益的问题解决,而且约束条件都是线性的. 二.数学模型 1.一般数学模型 2.MATLAB数学模型 其中c,x都是列向量,A,Aeq是一个合适的矩阵 ...

  2. python 版 mldivide matlab 反除(左除)《数学建模算法与程序》Python笔记

    今天在阅读数学建模的时候看到了差分那章 其中有一个用matlab求线性的代码,这里我贴出来 这里我送上 Python代码 In [39]: import numpy as np ...: from s ...

  3. 建模算法(十)——灰色理论之关联度分析

    一.数据变换技术 为了保证建模的质量和系统分析结果的准确性,对原始的数据要进行去量纲处理. 1.定义 设有序列,则成映射为序列x到序列y的数据变换. (1) f 是初值化变换. (2) f 是均值化变 ...

  4. 建模算法(六)——神经网络模型

    (一)神经网络简介 主要是利用计算机的计算能力,对大量的样本进行拟合,最终得到一个我们想要的结果,结果通过0-1编码,这样就OK啦 (二)人工神经网络模型 一.基本单元的三个基本要素 1.一组连接(输 ...

  5. 建模算法(五)——图与网络

    (一)图与网络的基本概念 一.无向图 含有的元素为顶点,弧和权重,但是没有方向 二.有向图 含有的元素为顶点,弧和权重,弧具有方向. 三.有限图.无限图 顶点和边有限就是有限图,否则就是无限图. 四. ...

  6. 建模算法(三)——非线性规划

    一.非线性规划和线性规划不同之处 1.含有非线性的目标函数或者约束条件 2.如果最优解存在,线性规划只能存在可行域的边界上找到(一般还是在顶点处),而非线性规划的最优解可能存在于可行域的任意一点达到. ...

  7. 建模算法(二)——整数规划

    一.概述 1.定义:规划中变量部分或全部定义成整数是,称为整数规划. 2.分类:纯整数规划和混合整数规划. 3.特点: (1)原线性规划有最优解,当自变量限制为整数后: a.原最优解全是整数,那最优解 ...

  8. 建模算法(七)——排队论模型

    (一)基本概念 一.排队过程的一般表示 凡是要求服务的对象称为顾客,凡是为顾客服务的称为服务员 二.排队系统的组成和特征 主要由输入过程.排队规则.服务过程三部分组成 三.排队模型的符号表示 1.X: ...

  9. 建模算法(九)——拟合

    一.线性最小二乘法 1.基本思路 令,其r(x)是事先选定的一组线性无关的函数.ak是待定系数.然后拟合的准则就是使得yi与f(xi)的距离的平方和最小,称之为最小二乘准则 2.系数的确定 ,要使距离 ...

随机推荐

  1. WPF控件模拟双击事件

    Action a = () => { i += ; ) { Interval = }; timer.Elapsed += (sender, e) => { timer.Enabled = ...

  2. js实现剪切、复制、粘贴——clipBoard.js

    摘要: 最近项目上要实现一个点击按钮复制链接的功能,刚开始查找了一些资料,找了几款插件,ZeroClipboard是通过flash实现的复制功能,随着越来越多的提议废除flash,于是就想能不能通过j ...

  3. sql重复记录查询

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select  peopleId  fro ...

  4. 微信二维码占座 书本水杯板砖都out了

    还在用书本.水杯.坐垫.板砖.铁链占座?你OUT了.新学期开学,重大图书馆开通了扫二维码占座功能,同学们只需扫一扫贴在桌子上的二维码,就可以占座.不过,占座有时间限制,如果没有在规定的时间内返回,系统 ...

  5. 搭建自己的ngrok服务

    转载:http://tonybai.com/2015/03/14/selfhost-ngrok-service/ 在国内开发微信公众号.企业号以及做前端开发的朋友想必对ngrok都不陌生吧,就目前来看 ...

  6. 深度学习入门教程UFLDL学习实验笔记一:稀疏自编码器

    UFLDL即(unsupervised feature learning & deep learning).这是斯坦福网站上的一篇经典教程.顾名思义,你将在这篇这篇文章中学习到无监督特征学习和 ...

  7. POJ 1251 Jungle Roads (prim)

    D - Jungle Roads Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Su ...

  8. 【架构】浅谈web网站架构演变过程

    浅谈web网站架构演变过程   前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管 ...

  9. 【OpenStack】OpenStack系列10之Horizon详解

    一.参考其他资料即可.可以采用haproxy+apache+horizon方式部署,haproxy/httpd支持ssl.

  10. jQuery Ajax 操作函数

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...