建模優(yōu)化
本文為您介紹工業(yè)優(yōu)化的建模優(yōu)化算法組件。
通過(guò)界面化的方式,實(shí)現(xiàn)運(yùn)籌優(yōu)化的數(shù)學(xué)建模,并調(diào)用求解器實(shí)現(xiàn)模型的求解輸出。
計(jì)算邏輯原理
通過(guò)依次添加序列、變量、參數(shù)、目標(biāo)函數(shù)及約束等,完成數(shù)學(xué)建模,配置相應(yīng)的求解屬性,調(diào)用底層求解器進(jìn)行模型的求解。
使用流程說(shuō)明
添加數(shù)據(jù)源。
引入DB-IN組件,配置數(shù)據(jù)庫(kù)及對(duì)應(yīng)的字段,選擇模型需要的數(shù)據(jù)。
定義問(wèn)題類型。
選擇屬于線性規(guī)劃、非線性規(guī)劃或約束類問(wèn)題。
添加模型序列。
即創(chuàng)建索引,在索引創(chuàng)建中,選擇索引類型為普通索引,并賦予索引名稱,該名稱將用于模型構(gòu)建中的引用。您可以通過(guò)手動(dòng)輸入或者關(guān)聯(lián)表的方式獲取索引值。
定義變量。
變量定義過(guò)程中,如果該變量含有下標(biāo),則需要添加變量的索引。同時(shí),需要給出變量的可行域及初始值。
添加參數(shù)。
參數(shù)添加的方式與變量添加方式類似,可以通過(guò)手動(dòng)輸入或關(guān)聯(lián)表的方式獲取數(shù)值。
添加目標(biāo)函數(shù)和約束。
定義求解參數(shù)。
通過(guò)設(shè)置求解時(shí)間,限制運(yùn)算時(shí)長(zhǎng)。如果不存在最優(yōu)解,則會(huì)在達(dá)到最長(zhǎng)運(yùn)行時(shí)間后自動(dòng)退出,并返回當(dāng)前質(zhì)量最優(yōu)解。
配置優(yōu)化數(shù)據(jù)輸出。
配置時(shí)可選擇是否回寫,如果數(shù)據(jù)回寫則需要選擇目標(biāo)數(shù)據(jù)庫(kù)及寫入規(guī)則。
參數(shù)說(shuō)明
IN1端口-輸入?yún)?shù)
輸入端口支持IGATE-IN以及DB-IN等方式。
OUT1端口-輸出
字段名
值類型
說(shuō)明
model_id
string
模型運(yùn)行id(項(xiàng)目ID_畫布ID_年月日時(shí)分秒)
model
string
模型內(nèi)容JSON信息
start_time
datetime
求解開始時(shí)間
end_time
datetime
求解結(jié)束時(shí)間
computation_time
float
運(yùn)行時(shí)間,單位為秒。
obj
double
目標(biāo)函數(shù)結(jié)果
solver_info
string
求解結(jié)果信息
variables
string
變量列表JSON信息:
{ "var1_key1_key2_key3": { "value": 0.0, "keyName": "var1_key1_key2_key3", "quality": "-1" } }