99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個簡單的線性規(guī)劃問題

Dtzl_SCAnalytic ? 來源:未知 ? 作者:李倩 ? 2018-05-29 10:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linear Programming線性規(guī)劃,就是目標(biāo)函數(shù)和約束條件都是線性的優(yōu)化問題,是運籌學(xué)中研究較早、發(fā)展較快、應(yīng)用廣泛、方法較成熟的一個重要分支,它是輔助人們進行科學(xué)管理的一種數(shù)學(xué)方法,英文縮寫LP。

一、業(yè)務(wù)問題描述:這是一個簡單的線性規(guī)劃問題,具體要求如下:

某公司生產(chǎn)氨氣(NH3)和氯化銨(NH4CI), 公司的日處理能力為50單位的氮(N), 180單位的氨(H), 40單位氯(CI). 氨氣的利潤為30$/每單位、氯化銨的利潤為40$/每單位,如何確定氨氣和氯化銨的產(chǎn)量,使利潤最大?

二、從數(shù)學(xué)的角度理解和定義該問題:

將上述生產(chǎn)問題轉(zhuǎn)為為數(shù)學(xué)問題,建立數(shù)學(xué)模型一般有以下三個步驟:

1.根據(jù)影響所要達到目的的因素找到?jīng)Q策變量;

2.由決策變量和所在達到目的之間的函數(shù)關(guān)系確定目標(biāo)函數(shù);

3.由決策變量所受的限制條件確定決策變量所要滿足的約束條件。

三、OPL模型建立的步驟

下面用OPL語言來理解和定義該問題,OPL模型就是尋找決策變量,使得決策變量滿足約束條件并取得目標(biāo)函數(shù)最值的過程。下面是求解該問題的幾個步驟:

1.定義該問題的數(shù)據(jù)變量,

為了方便起見,以下定義的數(shù)據(jù)變量均為數(shù)組變量,數(shù)組是有序數(shù)據(jù)的集合,一個數(shù)組中的每一個元素都屬于同一種數(shù)據(jù)類型。

(1)Products 代表氣體的名稱,

{string}Products = ...;

即定義了數(shù)組名為“Products”的字符串?dāng)?shù)組,一維數(shù)組。

(2)Components 代表所含的成分,

{string} Components = ...;

即定義了數(shù)組名為“Components”的字符串?dāng)?shù)組,一維數(shù)組。

(3)Demand 代表每種氣體所含的成分,

floatDemand[Products][Components] = ...;

即定義了數(shù)組名為“Demand”的浮點型數(shù)組,二維數(shù)組。

(4)Profit 代表對應(yīng)氣體的利潤,

float Profit[Products] =...;

即定義了數(shù)組名為“Profit”的浮點型數(shù)組,一維數(shù)組。

(5)Stock 代表該成分的日處理能力,

float Stock[Components] =...;

即定義了數(shù)組名為“Stock”的浮點型數(shù)組,一維數(shù)組。

2.數(shù)據(jù)的初始化;

定義了數(shù)據(jù)變量之后,要進行數(shù)據(jù)的初始化,所謂初始化就是給數(shù)據(jù)變量賦值,下面依次給上述定義的數(shù)據(jù)變量賦值:

Products = { "NH3" "NH4CI"};

Components = { "N" "H" "CI"};

Demand = [ [1 3 0] [1 4 1] ];

Profit = [30 40];

Stock = [50 180 40];

3.定義決策變量,數(shù)據(jù)變量和決策變量是有區(qū)別的,數(shù)據(jù)變量是具體數(shù)據(jù)的名稱,比如之前定義的數(shù)據(jù)變量“Products”,代表該公司生產(chǎn)氣體的名稱,而決策變量是針對數(shù)學(xué)模型來說的,這個問題所需做的決策即每種氣體的產(chǎn)量,

dvar float+Production[Products];

dvar(decision variable)是定義決策變量的一個最常用的關(guān)鍵字,

此處定義了變量名為”Production”的決策變量,代表兩種氣體的產(chǎn)量,其實是浮點型數(shù)組。

4. 目標(biāo)函數(shù)的定義,即利潤最大化,目標(biāo)函數(shù)是決策變量的線性函數(shù),

maximize

sum( p in Products )

Profit[p] * Production[p];

5. 約束條件的設(shè)定,有三種成分有日處理能力的限制,用很簡潔的寫法實現(xiàn):

subject to {

forall( c in Components )

ct:

sum( p in Products )

Demand[p][c] * Production[p] <= Stock[c];

}

四、用IBM ILOG CPLEX Optimization Studio 12.8來求解該問題

IBM ILOG CPLEX Optimization Studio 12.8來求解該問題的具體操作過程如下:

打開軟件界面,有四個常用的窗口,分別是OPL項目導(dǎo)航窗口、編輯窗口、問題瀏覽器窗口、輸出窗口;

新建一個OPL項目,項目名稱是“gaseous”,勾選”Adda default Run Configuration”、“CreateModel”和“CreateData”,即該OPL項目包含一個模型文件和一個數(shù)據(jù)文件;

編輯模型文件的內(nèi)容,即“gaseous.mod”文件

該模型文件的內(nèi)容包含四部分內(nèi)容:

(1) 定義數(shù)據(jù)變量;

(2) 定義決策變量;

(3) 設(shè)定目標(biāo)函數(shù);

(4) 設(shè)定約束條件;

編輯數(shù)據(jù)文件的內(nèi)容,即“gaseous.dat”文件

然后在”Configuration(default)”上執(zhí)行:

執(zhí)行 Run Configuration,得到如下輸出結(jié)果:

五、業(yè)務(wù)解讀

從IBM ILOG CPLEX Optimization Studio 12.8的運行結(jié)果,可知當(dāng)氨氣的產(chǎn)量為6.6667個單位,氯化銨的產(chǎn)量為40個單位時,該公司得到最大利潤,并滿足當(dāng)日每種成分的處理能力限制。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IBM
    IBM
    +關(guān)注

    關(guān)注

    3

    文章

    1821

    瀏覽量

    75801
  • 線性
    +關(guān)注

    關(guān)注

    0

    文章

    204

    瀏覽量

    25639

原文標(biāo)題:IBM ILOG CPLEX Optimization Studio : 一個線性規(guī)劃的案例

文章出處:【微信號:SCAnalyticsPlatform,微信公眾號:IBM大數(shù)據(jù)技術(shù)團隊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    matlab 數(shù)學(xué)建模

    取得最大經(jīng)濟效益的問題。此類問題構(gòu)成了運籌學(xué)的重要分支—數(shù)學(xué)規(guī)劃,而線性規(guī)劃(Linear Programming 簡記LP)則是數(shù)學(xué)規(guī)劃
    發(fā)表于 06-18 13:59

    線性規(guī)劃.pdf

    線性規(guī)劃.pdf
    發(fā)表于 09-15 12:49

    用MATLAB優(yōu)化工具箱解線性規(guī)劃

    用最低? 解 設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x2、x3,在乙車床上加工工件1、2、3的數(shù)量分別為x4、x5、x6??山⒁韵?b class='flag-5'>線性規(guī)劃模型: 編寫M文件xxgh3.m如下:f
    發(fā)表于 03-07 09:21

    matlab數(shù)學(xué)建模算法全收錄 799*** 4.7M 超清書簽版

    效益的問題。此類問題構(gòu)成了運籌學(xué)的重要分支—數(shù)學(xué)規(guī)劃,而線性規(guī)劃(Linear 求解線性規(guī)劃的單純形方法以來,
    發(fā)表于 11-25 14:17

    基于整數(shù)線性規(guī)劃的TTA代碼優(yōu)化

    針對傳輸觸發(fā)結(jié)構(gòu)代碼生成中的指令調(diào)度、多寄存器堆分配、全局寄存器分配和軟件旁路等優(yōu)化問題,給出整數(shù)線性規(guī)劃形式化模型,并實現(xiàn)了軟件架
    發(fā)表于 04-11 09:57 ?7次下載

    線性規(guī)劃在緩沖區(qū)溢出檢測中的應(yīng)用研究

    文中建立了緩沖區(qū)溢出檢測模型,用整型區(qū)間約束系統(tǒng)來表示字符串和關(guān)鍵性函數(shù),將C 字符串操作抽象成線性規(guī)劃問題來解決。設(shè)計了線性求解器對所產(chǎn)生的約束集合進行求解
    發(fā)表于 01-27 15:10 ?16次下載

    算法大全_線性規(guī)劃

    算法大全第01章__線性規(guī)劃,有需要的下來看看。
    發(fā)表于 01-14 17:04 ?0次下載

    算法大全_非線性規(guī)劃

    下面通過實例歸納出非線性規(guī)劃數(shù)學(xué)模型的般形式,介紹有關(guān)非線性規(guī)劃的基本概念。有需要的下來看看。
    發(fā)表于 01-14 17:26 ?0次下載

    種基于改進線性規(guī)劃的LDPC碼混合譯碼算法

    種基于改進線性規(guī)劃的LDPC碼混合譯碼算法_陳紫強
    發(fā)表于 01-07 16:52 ?0次下載

    種關(guān)聯(lián)博弈的軟件調(diào)度線性規(guī)劃控制算法

    種關(guān)聯(lián)博弈的軟件調(diào)度線性規(guī)劃控制算法_劉海姣
    發(fā)表于 01-07 19:08 ?0次下載

    數(shù)學(xué)建模教程之線性規(guī)劃的詳細說明

    在人們的生產(chǎn)實踐中,經(jīng)常會遇到如何利用現(xiàn)有資源來安排生產(chǎn),以取得最大經(jīng)濟效益的問題。此類問題構(gòu)成了運籌學(xué)的重要分支—數(shù)學(xué)規(guī)劃,而線性規(guī)劃(Linear Programming 簡記
    發(fā)表于 12-10 08:00 ?1次下載

    復(fù)雜施工調(diào)度問題的混合整數(shù)線性規(guī)劃模型

    為解決復(fù)雜施工項目中存在的模型表述和計算問題,研究互斥、共存、依賴3種邏輯關(guān)系在調(diào)度計劃表述模型中的應(yīng)用,建立復(fù)雜施工調(diào)度問題的混合整數(shù)線性規(guī)劃模型,并設(shè)計種改進的遺傳算法以快速求解模型?;诓紶?/div>
    發(fā)表于 05-12 10:51 ?15次下載

    如何在MATLAB中使用線性規(guī)劃求解不同的問題

    MATLAB是種廣泛使用的數(shù)學(xué)軟件,它提供了各種工具箱和函數(shù)來解決多種問題,包括線性規(guī)劃。下面介紹幾個線性規(guī)劃的示例,演示在MATLAB中如何使用線性規(guī)劃求解這些問題: 1.
    的頭像 發(fā)表于 06-14 10:25 ?1214次閱讀

    在約束條件下優(yōu)化非線性目標(biāo)函數(shù)的問題

    線性規(guī)劃類在約束條件下優(yōu)化非線性目標(biāo)函數(shù)的問題。以下是幾個常見的非線性規(guī)劃算法。
    的頭像 發(fā)表于 06-15 09:33 ?1357次閱讀
    在約束條件下優(yōu)化非<b class='flag-5'>線性</b>目標(biāo)函數(shù)的問題

    使用內(nèi)點法求解線性規(guī)劃問題

    在 MATLAB 中,可以使用 fmincon 函數(shù)來求解線性規(guī)劃問題,其中包括內(nèi)點法。fmincon 函數(shù)的使用方法非常靈活,可以通過修改參數(shù)來指定不同的算法、約束條件等。
    的頭像 發(fā)表于 06-15 09:35 ?1363次閱讀
    使用內(nèi)點法求解<b class='flag-5'>線性規(guī)劃</b>問題