【第22期】观点:IT 行业加班,到底有没有价值?

Matlab优化问题08—fminimax

原创 2015年07月09日 01:18:11

说明:fminimax用来求最小的最大值,比如城市建设消防站点时,考虑到最主要的因素是到最远的地方的用时(可换算为距离)最小,比如A方案到6个区域的用时为(1,1,1,1,1,12),B方案到6个区域的用时为(3 4 3 2 3 5),则虽然A方案总体用时较少,但是B方案优于A方案,因为咋该问题中消防安全(对每个区域)权重最大。此时正好用到最小最大值问题。

【例1】设某城市有某种物品的10个需求点,第i个需求点Pi的坐标为(ai,bi),道路网与坐标轴平行,彼此正交。现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在x界于[5,8]y界于[5.8]的范围之内。问该中心应建在何处为好?

P点的坐标为:

ai

1

4

3

5

9

12

6

20

17

8

bi

2

10

8

18

1

4

5

10

8

9

 

解:设供应中心的位置为(x,y),要求它到最远需求点的距离尽可能小,此处采用沿道路行走计算距离(如图8-1),则数学模型为:


8-1  供应中心到需求点的行走路线图

MATLABfminimax函数进行求解

fun011.m

function f=fun011(x)

m=[1 4 3 5 9 12 6 20 17 8];

n=[2 10 8 18 1 4 5 10 8 9];

str=[repmat('   (',10,1) num2str(m')  num2str(n') repmat(')',10,1)];

plot(m,n,'o')

text(m,n,cellstr(str))

hold on

for i=1:10

    f(i)=abs(x(1)-m(i))+abs(x(2)-n(i));

end

主函数

fun011yunxing.m

clc

tic

x0=[6;6];

A=[-1 0;1 0;0 -1;0 1];

b=[-5;8;-5;8];

lb=[0;0];

ub=[];

[x,fva,maxfval,exitflag,output]=fminimax(@fun011,x0,A,b,[],[],lb,ub)

plot(x(1),x(2),'r *')

toc

解得:

x =

     8

     8

fva =

    13     6     5    13     8     8     5    14     9     1

maxfval =

    14

exitflag =

     4

output = 

         iterations: 3

         funcCount: 14

……

时间已过 0.670458 秒。

求解的同时我们用图8-2描述了该问题,*点就是所求点。且最小的最大供应距离14为从供应中心(88)到需求点(2010)的距离。


图 8-2  需求点及供应中心

版权声明:博主文章可以被非商用转载,但请务必注明出处,因水平有限,难免出错,在此免责。 举报

相关文章推荐

MATLAB求多目标优化问题——fminimax

MATLAB求多目标优化问题使用fminimax求解,包括模型、fminimax函数说明以及实例。

我的CSDN目录

我的CSDN目录

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

利用Matlab自带的深度学习工具进行车辆区域检测与车型识别【福利-内附源码与数据库】(一)

前言Okay……最近事情比较多,博客也发的少,所以决定搞一次大新闻。本此的博客详细记录了我使用Matlab进行车辆区域检测(R-CNN)与车型识别(AlexNet)的过程。并且内包含了训练数据集、测试...

双车道元胞自动机交通流Matlab仿真

我喜欢的智慧石资源:双车道元胞自动机交通流Matlab仿真

Matlab代码的耗时分析、优化、加速

Profile(分析) 在加速你的matlab程序之前,你需要知道你的代码哪一部分运行最慢。matlab提供个简单的机制,让你能够知道你 的代码的某一部分运行所占用CPU时间。通过在代码段...

最优化方法的Matlab实现

现在看一段 摄像机标定的程序里面涉及到最优化求解方程的函数,从网上找到了下面的资源,只是里面的公式显示不出来,贴在这里,做为工具查阅,如果找到原文的出处,再做修改。在生活和工作中,人们对于同一个问题往...

Matlab代码的耗时分析、优化…

原文地址:Matlab代码的耗时分析、优化、加速作者:兔子肥 Profile(分析) 在加速你的matlab程序之前,你需要知道你的代码哪一部分运行最慢。matlab提供个简单的机制,让你...

最优化方法的Matlab实现

转自:http://blog.csdn.net/luckydongbin/article/details/1497391 现在看一段 摄像机标定的程序里面涉及到最优化求解方程的函数,从网...

【转】提高MATLAB运行效率

用过Matlab的人都知道,Matlab是一种解释性语言,存在计算速度慢的问题,为了提高程序的运行效率,matlab提供了多种实用工具及编码技巧。   1. 循环矢量化 Matlab是为...

Matlab优化问题07—fgoalattain

说明:fgoalattian是用来求解多目标规划,包括线性规划和非线性规划,因此是一个非常有力的工具,需要注意的是求解之前要建立三个向量,即goal—目标判断向量,weight—权重向量,x0—初始解...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)