題目:某公司計畫在市區的東、西、南、北四區建立銷售中心,擬議中有10個位置 aj (j=1,2,3,…,10)可供選擇,考慮到各地區居民的消費水平及居民居住密集度,規定:
在東區由a1 , a2 ,a3 三個點至多選擇兩個;
在西區由a4 , a5 兩個點中至少選乙個;
在南區由a6 , a7 兩個點中至少選乙個;
在北區由a8 , a9 , a10 三個點中至少選兩個。
a1a2
a3a4
a5a6
a7a8
a9a10
投資額利潤
aj 各點的裝置投資及每年可獲利潤由於地點不同都是不一樣的,**情況見表所示 (單位:萬元)。但投資總額不能超過750萬元,問應選擇哪幾個銷售點,可使年利潤為最大?
解:
一、建立模型
這是一道整數規劃問題。寫出目標函式,求年利潤最大。
先設東區選擇a1位置:x1。以此類推,自變數設為:
東區:x1,x2,x3。
西區:x4,x5。
南區:x6,x7。
北區:x8,x9,x10。
所以,目標函式為:
max z = 36x1+40x2+50x3+25x4+20x5+30x6+25x7+48x8+58x9+60x10
約束條件為:
x1+x2+x3≤2
x4+x5≥1
x6+x7≥1
x8+x9+x10≥2
110x1+120x2+150x3+80x4+70x5+90x6+80x7+140x8+160x9
+180x10
≤750
xi=0或1,i =1,2,3,4,5,6,7,8,9,10
先轉化為標準型。
min z = -36x1-40x2-50x3-25x4-20x5-30x6-25x7-48x8
-58x9-60x10
約束條件為:
x1+x2+x3≤2
-x4-x5≤1
-x6-x7≤1
-x8-x9-x10≤2
110x1+120x2+150x3+80x4+70x5+90x6+80x7+140x8+160x9
+180x10
≤750
xi=0或1,i =1,2,3,4,5,6,7,8,9,10
二、計算過程
1. excel
約束條件位置,輸入公式:=sumproduct(b2:k2,b5:k5)
以此類推,其他四個約束條件位置也是如此輸入公式。
總利潤,輸入公式:=sumproduct(b2:k2,b3:k3)
得出結果:
f表示目標函式的係數矩陣,即利潤。
ic表示10個自變數。
a表示5個約束條件前的變數係數矩陣。
b表示5個約束條件後面的值。
lb表示10個自變數最小值取0。
ub表示10個自變數最大只能是1。
在上述的**中:[x,fval,flag]=intlinprog(f,ic,a,b,,,lb,ub)
代表不存在或空,因為在上面的例子中不存在等式約束,所以aeq和beq的位置為 。intlinprog函式表示整數約束。
運籌學 5 整數規劃
1 整數線性規劃問題定義 2 0 1變數定義限制條件的表達 使用binary variables 0 1變數 來表示邏輯性條件限制。a.總的只能有某幾個變數被選擇 和小於某個數 b.選擇指定某幾個變數 這幾個變數的和等於某個數 c.幾個之中至少有乙個被選擇,和等於一 d.有順序,只有當某個變數x1被...
運籌學整數規劃matlab程式
gomory函式 function x,z,aaa,bbb gomory a,b,c,d 割平面法的實現 x 目標函式的最優解 z 目標函式的極小值 aaa 滿足整數條件的最終表中的係數矩陣 bbb 滿足整數條件的最終表中的常數列向量 a 約束函式的係數矩陣,輸入前需保證每個約束條件均為 或 號 b...
運籌學實驗 1
讀入資料 處理資料 新增鬆弛變數,人工變數 計算每一列的檢驗數 決定繼續迭代還是結束 1 設立的變數 vectora 約束條件係數 vectorb 約束條件右部數字 vectors 約束條件符號 vectortest 檢驗數 vectorxita int p 基 int line 0,row 0 最...