R 線性規劃教學與範例 - Office 指南
文章推薦指數: 80 %
使用R 的 lpSolve 與 lpSolveAPI 套件解決線性規劃問題,並提供實際的應用範例。
... 線性規劃(linear programming)是數學上的一種最佳化問題,以下我們直接透過範例 ...
跳至主要導覽跳至主要內容跳至主要資訊欄使用R的lpSolve與lpSolveAPI套件解決線性規劃問題,並提供實際的應用範例。
在日常生活中有許多的問題都可以使用線性規劃來尋求最好的解決方案,甚至在商業管理領域中,它也被大量應用在降低成本、提升產值與營收的策略上,而一般人沒有修過這門課程,不知道原來有那麼好用的工具,這裡我們將以實際而且常見的範例,介紹如何使用R解決線性規劃的問題。
生產褲子與外套問題
線性規劃(linearprogramming)是數學上的一種最佳化問題,以下我們直接透過範例來了解什麼是線性規劃問題。
假設今天有一個成衣的經銷商,要求工廠生產褲子與外套,這兩種產品都是使用棉與聚酯纖維來製作的,工廠內現有的原料中,棉有750m2,而聚酯纖維則有1000m2,生產褲子與外套所需要的原料用量如下:
褲子
外套
棉
1m2
1.5m2
聚酯纖維
2m2
1m2
每件褲子的價格是1100元,而外套則是800元,現在的問題就是工廠應該生產多少件的褲子,以及多少件的外套,才能讓總銷售金額達到最高呢?
像這種在多種選擇之間,尋找最佳組合的問題,就是一個典型的線性規劃問題。
數學條件式
若要解決這種問題,首先要把問題以數學的條件式寫出來。
假設我們要生產的褲子與外套的件數分別為x與y:
x=生產的褲子件數
y=生產的外套件數
而由於原料有限,所以在生產的時候,使用的棉與聚酯纖維不可以超過現有的存量,因此就可以寫出兩條限制式:
x+1.5y≤750
2x+y≤1000
另外生產的件數不可以是負的,所以再加上兩條限制式:
x≥0
y≥0
而我們要做的事情就是在這些限制條件下,找到最好的x與y,讓銷售金額(目標函數)最高:
銷售金額(目標函數)=1100x+800y
使用R解線性規劃問題
若要使用R來解這種簡單的線性規劃問題,最簡單的方式就是使用lpSolve套件,使用前先安裝並載入之:
#安裝lpSolve套件
install.packages("lpSolve")
#載入lpSolve套件
library(lpSolve)
接著將上面寫好的數學條件式,依據lpSolve的格式輸入進來:
#銷售金額(目標函數)
#1100x+800y
f.obj=0
#y>=0
f.con=",">=")
f.rhs
延伸文章資訊
- 1線性規劃(Linear Programming) | 科學Online - 國立臺灣大學
讓我們就從下面的例子說起,來介紹什麼是線性規劃:. 為預防禽流感,營養師吩咐雞場主人每天必須從飼料中提供至少84 單位的營養素A 、
- 2线性规划- 维基百科,自由的百科全书
线性规划 · 1 标准型. 1.1 例子 · 2 增广矩阵(松弛型). 2.1 例子 · 3 对偶. 3.1 例子 · 4 理論 · 5 演算法 · 6 整數規劃 · 7 参见 · 8 参考 ...
- 3線性規劃(Linear Programming)
從此之後,「內點法」的研究在最近. 八年來蔚為一時風潮, 不斷有推陳出新的結. 果。 II. 線性規劃的特性. 尚未介紹線性規劃解法之先, 我們先看. 一個很簡單的例子:.
- 4線性規劃 - Wikiwand
- 5線性規劃 - MBA智库百科
線性規劃(Linear programming)線性規劃是運籌學中研究較早、發展較快、應用廣泛、方法較成熟的一個重要分支,它是輔助人們進行科學管理的一種數學方法。