matlab fminimax 例子,Matlab应用实例(8)—fminimax
說明:fminimax用來求最小的最大值,比如城市建設(shè)消防站點(diǎn)時(shí),考慮到最主要的因素是到最遠(yuǎn)的地方的用時(shí)(可換算為距離)最小,比如A方案到6個(gè)區(qū)域的用時(shí)為(1,1,1,1,1,12),B方案到6個(gè)區(qū)域的用時(shí)為(3 4 3 2 3 5),則雖然A方案總體用時(shí)較少,但是B方案優(yōu)于A方案,因?yàn)檎υ搯栴}中消防安全(對每個(gè)區(qū)域)權(quán)重最大。此時(shí)正好用到最小最大值問題。
【例1】設(shè)某城市有某種物品的10個(gè)需求點(diǎn),第i個(gè)需求點(diǎn)Pi的坐標(biāo)為(ai,bi),道路網(wǎng)與坐標(biāo)軸平行,彼此正交。現(xiàn)打算建一個(gè)該物品的供應(yīng)中心,且由于受到城市某些條件的限制,該供應(yīng)中心只能設(shè)在x界于[5,8],y界于[5.8]的范圍之內(nèi)。問該中心應(yīng)建在何處為好?
P點(diǎn)的坐標(biāo)為:
ai
1
4
3
5
9
12
6
20
17
8
bi
2
10
8
18
1
4
5
10
8
9
解:設(shè)供應(yīng)中心的位置為(x,y),要求它到最遠(yuǎn)需求點(diǎn)的距離盡可能小,此處采用沿道路行走計(jì)算距離(如圖8-1),則數(shù)學(xué)模型為:
圖8-1供應(yīng)中心到需求點(diǎn)的行走路線圖
用MATLAB的fminimax函數(shù)進(jìn)行求解
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
主函數(shù)
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
……
時(shí)間已過?0.670458秒。
求解的同時(shí)我們用圖8-2描述了該問題,*點(diǎn)就是所求點(diǎn)。且最小的最大供應(yīng)距離14為從供應(yīng)中心(8,8)到需求點(diǎn)(20,10)的距離。
圖?8-2需求點(diǎn)及供應(yīng)中心
總結(jié)
以上是生活随笔為你收集整理的matlab fminimax 例子,Matlab应用实例(8)—fminimax的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台式机没有显示计算机图标,为什么台式电脑
- 下一篇: usb转ttl模块与matlab,图文详