姚益新
(華北電力大學,北京 102206)
基于MATLAB的設施選址0-1規劃的實現
姚益新
(華北電力大學,北京 102206)
設施選址問題由于涉及的因素紛繁復雜,造成其求解的難度也一直很大。針對這個問題,本文使用matlab軟件對采用0-1規劃的設施選址問題進行了解答,并進行了實例的論證,結果表明在使用matlab對0-1規劃的設施選址問題進行解答時,具有調用函數簡單,求解方便等優點。
設施選址;0-1規劃;matlab
選址作為企業活動中最重要的長期決策之一,選址的好壞將對服務方式、服務質量、服務效率、服務成本等造成直接的影響,進而影響到企業利潤及其市場競爭力。而設施選址作為眾多選址問題的一個重要研究領域,更是關系到經濟、政治、文化、社會、生態等各個社會方面,是一項綜合的系統工程,在當前將建設資源節約型、環境友好型社會作為加快轉變經濟發展方式的重要著力點的時代背景下,其研究無疑具有重大現實意義[1]。設施選址規劃的研究方法主要依靠運籌學、拓撲學、管理學等計量方法,這是設施選址與其他選址問題的重要區別[2]。在選址問題的討論時,涉及到從多個地址中選擇適當的個數和地點進行選址的問題,此時通常采用0-1規劃來實現[3]。
0-1規劃是決策變量僅取值0或1的一種特殊的整數規劃。0-1變量可以數量化地描述諸如開與關、取與棄、有與無等現象所反映的離散變量間的邏輯關系、順序關系以及互斥的約束條件,因此0-1規劃非常適合用來解決如線路設計、工廠選址、生產計劃安排等人們所關心的多種問題[4]。
0-1規劃的基本數學模型為

(1)
在MATLAB中由于自變量的取值非常有限,因此如果自變量個數不多的話,完全可用窮舉法得到最優解。對于自變量個數比較多的情況,可以用隱枚舉法求得最優解。與窮舉法不同的是,隱枚舉法只檢查自變量取值組合的一部分,它通過找到的可行解不斷改進目標值,于是它只檢查優于目標值的取值組合,因此在應用隱枚舉法之前必須先給一個可行解。
在MATLAB中編程實現的枚舉法法函數為:ZeroOneprog。功能為用枚舉法(包括窮舉法和隱枚舉法)求解0-1規劃。其調用格式為:
[intx,intf]=ZeroOneprog(c,A,b,x0)
其中,c:目標函數系數向量;
A:不等式約束右端向量;
x0:初始可行整數解;
intx:目標函數取最小值時的自變量值;
intf:目標函數的最小值。
某地政府決定計劃投資5000萬在某地區建立物流配送中心。已知該區域有15個社區,并有7個位置可以建設物流配送中心,但是每個配送中心只能覆蓋有限個社區,且由于地理位置、氣候以及交通等因素,每個可選位置建設物流配送中心的費用及覆蓋范圍也各有差異。社區分布及物流配送中心建設點的位置示意圖如圖1所示,每個位置建設物流配送中心的費用以及可以覆蓋的社區如表1所示,每個社區的人口數如表2所示。

表1 各位置建設物流配送中心的費用及所能覆蓋的社區

表2 各社區的人口數量
問題:要求在建設費用不超過5000萬的前提條件下,在7個位置中選擇合適的位置建立物流配送中心,使得使覆蓋的人口盡可能的多;
(一)模型的假設。
假設一:各社區人口數量不發生變化;
假設二:各社區內居民對物流配送中心的使用率相同,均為α;
假設三:若某社區在某物流配送中心的覆蓋范圍之內,那么該社區中所有客戶均被改物流配送中心覆蓋;
假設四:各物流配送中心不會重復建設;
假設五:各物流配送中心的重復覆蓋不對配送服務的質量造成影響;
(二)符號說明。
xi:各物流配送中心的建設情況(xi=1表示第i個物流中心需要建設,xi=0表示第i個物流中心無需建設);