码迷,mamicode.com
首页 > 其他好文 > 详细

Matlab应用实例(8)—fminimax

时间:2015-07-09 09:48:35      阅读:1036      评论:0      收藏:0      [点我收藏+]

标签:matlab   优化工具箱   fminimax   

设某城市有某种物品的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应用实例(8)—fminimax

标签:matlab   优化工具箱   fminimax   

原文地址:http://blog.csdn.net/lzx19901012/article/details/46811179

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!