五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

R語言解決最優(yōu)化問題-線性優(yōu)化(LP)問題

2020-12-24 15:49 作者:拓端tecdat  | 我要投稿

?原文:http://tecdat.cn/?p=3432

?

線性優(yōu)化簡(jiǎn)介

優(yōu)化是一種為所有可能的解決方案找到給定問題的最佳解決方案的技術(shù)。優(yōu)化使用嚴(yán)格的數(shù)學(xué)模型來找出給定問題的最有效解決方案。

要從優(yōu)化問題開始,首先確定目標(biāo)非常重要。目標(biāo)是績(jī)效的量化衡量。例如:最大化利潤(rùn),最小化時(shí)間,最小化成本,最大化銷售。

優(yōu)化問題可分為兩組

  1. 線性規(guī)劃(LP):它也被稱為線性優(yōu)化,在這個(gè)問題中,目標(biāo)是在數(shù)學(xué)模型中獲得最佳結(jié)果,其中目標(biāo)和所有約束是決策變量的線性函數(shù)。

  2. 二次規(guī)劃(QP):在二次規(guī)劃中,目標(biāo)是決策變量和約束的二次函數(shù),它們是變量的線性函數(shù)。二次函數(shù)也是一種非線性規(guī)劃。

對(duì)于這篇文章,只解釋了線性規(guī)劃問題。

R中的線性優(yōu)化:

R中可用于優(yōu)化的常用包包括:

Problem TypePackageFunctionGeneral (1-dimensional)Built-in

optimize()

General (n-dimensional)Built-in

optim()

Linear Programming (LP)

lpsolvelp()

Quadratic Programming (QP)

quadprogsolve.qp()

General Interface

ROIROI_Solve()

?一般優(yōu)化問題的內(nèi)置函數(shù)示例:

  • 這些程序的一般參數(shù)結(jié)構(gòu)是:

optimizer(objective, constraints, bounds=NULL, types=NULL, maximum=FALSE)

例:

  • 定義目標(biāo)函數(shù)

f <- function(x) 2 * (x[1]-1)^2 + 5 * (x[2]-3)^2 + 10

  • 呼叫優(yōu)化功能

r < - ?optim(c(1,1),f)

  • 檢查優(yōu)化是否收斂到最小

  1. r $ convergence == 0 ##如果收斂到最小值,則返回TRUE


  2. ## [1]是的

  • 最佳輸入?yún)?shù)

  1. R $par


  2. ## [1] 1.000168 3.000232

  • 目標(biāo)函數(shù)的價(jià)值至少

  1. R $value


  2. ## [1] 10

線性規(guī)劃(LP)

線性編程表示為:

min c?T??x??= min(c?1?x?1?+ ... + c?n?x?n)

限制:

A?x> = B,x??> = 0

線性規(guī)劃示例:

  • 一家公司希望最大化兩種產(chǎn)品A和B的利潤(rùn),分別以25美元和20美元的價(jià)格出售。每天有1800個(gè)資源單位,產(chǎn)品A需要20個(gè)單位,而B需要12個(gè)單位。這兩種產(chǎn)品都需要4分鐘的生產(chǎn)時(shí)間,并且可用的總工作時(shí)間為每天8小時(shí)。每種產(chǎn)品的生產(chǎn)數(shù)量應(yīng)該是什么才能使利潤(rùn)最大化。

上述問題的目標(biāo)函數(shù)是:

max(銷售額)=max(25 x 1?+ 20 x 2)

其中,
x?1是產(chǎn)品A的單位產(chǎn)生的
x?2是產(chǎn)品B的單位產(chǎn)生的
x?1和x?2也稱為決策變量

問題中的約束(資源和時(shí)間):

20x?1?+ 12 x?2?<= 1800(資源約束)
4x?1?+ 4x?2?<= 8 * 60(時(shí)間約束)

解決R中的上述問題:

由于這是一個(gè)線性規(guī)劃問題,我們將使用??lpsolve??package和??lp()?函數(shù)來找到最優(yōu)解。lp()?函數(shù)的語法??是:

lp(direction =“min”,objective.in,const.mat,const.dir,const.rhs)

  • 方向控制是否最小化或最大化

  • 系數(shù)c被編碼為矢量objective.in

  • 約束A作為矩陣const.mat給出,方向?yàn)閏onst.dir

  • 約束b作為向量const.rhs插入

?

  1. ##設(shè)置決策變量的系數(shù)

  2. objective.in < - c(25,20)

  3. ##創(chuàng)建約束martix

  4. const.mat < - martix(c(20,12,4,4),nrow = 2,byrow = TRUE)

  5. ## define constraints

  6. time_constraint < - (8 * 60)

  7. resource_constraint < - ?1800

  8. ## RHS用于約束

  9. const.rhs < - c(resource_constraint,time_constraint)

  10. ##約束方向

  11. const.dir < - c(“<=”,“<=”)

  12. ##找到最佳解決方案

  13. 最佳< - ? lp(direction =“max”,objective.in,const.mat,const.dir,const.rhs)

  1. ##顯示x1和x2的最佳值



  2. ## [1] 45 75


  3. ##在最佳點(diǎn)檢查目標(biāo)函數(shù)的值



  4. ## [1] 2625

從上面的輸出中,我們可以看到該公司應(yīng)該生產(chǎn)45個(gè)產(chǎn)品A和75個(gè)產(chǎn)品B單位,以獲得2625美元的銷售額。

在制定目標(biāo)函數(shù)和約束之后,我們可以擴(kuò)展相同的方法來解決R中的其他LP問題。

?

還有問題嗎?請(qǐng)?jiān)谙旅媪粞裕?/strong>

?

?


R語言解決最優(yōu)化問題-線性優(yōu)化(LP)問題的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
顺义区| 深圳市| 安康市| 林甸县| 新安县| 高台县| 广东省| 纳雍县| 赫章县| 方山县| 观塘区| 宁陕县| 和静县| 德江县| 江陵县| 巴中市| 富阳市| 镇雄县| 舞阳县| 桦甸市| 鄂州市| 谷城县| 遂宁市| 宁阳县| 资兴市| 张家口市| 托里县| 石泉县| 镇宁| 射阳县| 镇康县| 米脂县| 昭觉县| 泰来县| 南城县| 武山县| 克什克腾旗| 辽宁省| 乐平市| 全椒县| 呼伦贝尔市|