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例子,标准形式,线性规划求解:_孙砚秋的博客
1 ,线性规划:例子已知: 某工厂计划生产A,B 两种产品,他们都需要机器,人工,材料才能完成。求:两种零件各生产多少,才能使得利润最大得到 ...
- 2線性規劃
- 3實用線性規劃理論與應用- 林佳霈
簡單來說,線性規劃方法是在數學模型中以線性關係表示目標函數和條件限制式,並從而獲得最佳解(例如:最大 ... 在老師上課舉完許多例子後,我比較瞭解線性規劃是什麼。
- 4線性規劃 - MBA智库百科
線性規劃(Linear programming)線性規劃是運籌學中研究較早、發展較快、應用廣泛、方法較成熟的一個重要分支,它是輔助人們進行科學管理的一種數學方法。
- 5Day 9 : 線性規劃問題(linear programming problem) - iT 邦幫忙
呈1,線性規劃問題的最佳解必將出現在feasible set的邊界上或邊界的頂點上。 範例. (請先忽略原始問題如何轉換成標準LP型式,將焦點著重在解的特性,後續會再講解 ...