1.定義
2.例題
3.使用軟件及解題
一、定義
1.線性規劃(Linear Programming,簡稱LP)是一種數學優化技術,線性規劃作為運籌學的一個重要分支,專門研究在給定一組線性約束條件下,如何找到一個最優的決策,使得目標函數取得最大或最小值。線性規劃屬于運籌學(Operations Research)這一學科領域。運籌學是一門多學科交叉的科學,它致力于通過數學、統計學和計算機科學等方法,解決實際問題中的決策和優化問題。線性規劃廣泛應用于經濟、工程、生產、物流等領域的決策問題,如資源分配、生產計劃、投資組合等。
2.線性規劃問題形式化地描述
(1)決策變量(Decision Variables): 這些是需要在問題中確定的變量,可以是任何可以進行調整以達到最優解的量。例如,生產某種產品的數量、投資某項資產的金額等。
(2)目標函數(Objective Function): 這是需要最大化或最小化的線性函數。它表示你希望優化的目標,可以是成本、利潤、產量等。
(3)約束條件(Constraints): 這些是對決策變量的限制條件,可能涉及資源的限制、技術約束等。約束條件通常是一組線性等式或不等式。
(4)非負約束條件(Non-negativity Constraints): 決策變量通常不能為負數,因為它們表示數量或金額等。
3.數學形式表示
最大化(或最小化):c?x? + c?x? + … + c?x?
約束條件:
A??x? + A??x? + … + A??x? ≤ b?
A??x? + A??x? + … + A??x? ≤ b?
…
A??x? + A??x? + … + A??x? ≤ b?
x?, x?, …, x? ≥ 0
其中,c?, c?, …, c? 是目標函數的系數,x?, x?, …, x? 是決策變量,A?? 是約束矩陣中的系數,b? 是約束的右側值。
4.解線性規劃問題的目標
??找到滿足約束條件的決策變量值,使得目標函數取得最大(或最小)值。常用的線性規劃求解算法包括單純形法、內點法、二次割平面法等。
二、例題
例 1:某機床廠生產甲、乙兩種機床,每臺銷售后的利潤分別為 4000 元與 3000 元。生產甲機床需用 A、B 機器加工,加工時間分別為每臺 2 小時和 1 小時;生產乙機床需用 A、B、C 三種機器加工,加工時間為每臺各一小時。若每天可用于加工的機器時數分別為 A 機器 10 小時、B 機器 8 小時和C 機器 7 小時,問該廠應生產甲、乙機床各幾臺,才能使總利潤最大?
三、使用軟件及解題
例 1 公式轉為matlab形式求解
(2)求解的Matlab程序如下
f=[-2; -3; 5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));
x, y=-y