南郵運籌學實驗3 01整數規劃

2021-08-20 15:18:23 字數 2711 閱讀 8279

題目:某公司計畫在市區的東、西、南、北四區建立銷售中心,擬議中有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)

代表不存在或空,因為在上面的例子中不存在等式約束,所以aeqbeq的位置為 。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 最...