国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃

這篇具有很好參考價(jià)值的文章主要介紹了美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?模型簡(jiǎn)介

? 本質(zhì)

既要XXX,又要XXX

? 回顧:(非)線性規(guī)劃都是一個(gè)目標(biāo)函數(shù),例如工業(yè)生產(chǎn)產(chǎn)品,追求最大化利潤(rùn)等等。

? 例如:某工廠生產(chǎn)產(chǎn)品Ⅰ和產(chǎn)品Ⅱ,有關(guān)數(shù)據(jù)如下,若只追求最大化利潤(rùn),得到模型:

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 多目標(biāo)

現(xiàn)在設(shè)有3個(gè)目標(biāo)

? 1.盡量使產(chǎn)品Ⅰ的產(chǎn)量不超過產(chǎn)品Ⅱ的產(chǎn)量;

? 2.盡可能充分利用設(shè)備,但不希望加班

? 3.盡可能使利潤(rùn)不少于56萬

? 翻譯翻譯

? 目標(biāo)1是“不超過”,也就是盡量“?”

? 目標(biāo)2是“充分利用又不加班”,也就是盡量“=”

? 目標(biāo)3是“不少于”,也就是盡量“?”

? “盡可能”的意思是,能滿足最好

? 若滿足不了,就要在多個(gè)目標(biāo)中做出取舍

? 隱藏條件:原材料有限,生產(chǎn)總消耗無法超出原材料

? 解題思路

? 需要衡量每個(gè)目標(biāo)的完成情況;

? 如果三個(gè)目標(biāo)有一定沖突,要在主觀上區(qū)分三個(gè)目標(biāo)的重要性;

? 使得整體的完成情況盡量好。

? 多目標(biāo)規(guī)劃難在哪?

? 極端例題:盡量保證每天吃的肉不少5斤,且盡可能保持體重在100斤以下

? “既要”“又要”,但有時(shí)難以同時(shí)滿足所有目標(biāo)

? 如何衡量每個(gè)目標(biāo)的完成情況

? 正偏差變量為實(shí)際值超過目標(biāo)值的部分,美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 負(fù)偏差變量為實(shí)際值未達(dá)到目標(biāo)值的部分,美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔(為整數(shù))

? 第3個(gè)目標(biāo)要求不少于目標(biāo)值,意味著負(fù)偏差變量美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔越小越好

? 約束必須滿足

? 生產(chǎn)用的原材料用完了就沒了,所以“原材料有限”為絕對(duì)約束,必須滿足

? 有些目標(biāo)例如盡可能使利潤(rùn)不少于56萬,對(duì)追求的目標(biāo)值允許有偏差,稱為目標(biāo)約束

? 目標(biāo)太多,難以都滿足,應(yīng)該先滿足誰?

? 多個(gè)目標(biāo)可能難以同時(shí)滿足,到底哪個(gè)更重要?需要確定優(yōu)先因子美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 模型建立的基本原理:將目標(biāo)約束轉(zhuǎn)化為偏差變量表示的目標(biāo)函數(shù)和等式約束

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

?適用賽題

? 生產(chǎn)規(guī)劃:

使XXX最少/多/利潤(rùn)最大,且盡可能XXX,盡量XXX,在…基礎(chǔ)上優(yōu)化XXX;

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔
美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

?典型例題

? 某工廠生產(chǎn)產(chǎn)品Ⅰ和產(chǎn)品Ⅱ,有關(guān)數(shù)據(jù)如下,

? 1.盡量使產(chǎn)品Ⅰ的產(chǎn)量不超過產(chǎn)品Ⅱ的產(chǎn)量;

? 2.盡可能充分利用設(shè)備,但不希望加班

? 3.盡可能使利潤(rùn)不少于56萬

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 需要衡量每個(gè)目標(biāo)的完成情況,并區(qū)分三個(gè)目標(biāo)的重要性,使得整體的完成情況盡量好

? 引入三個(gè)概念:正負(fù)偏差變量,絕對(duì)約束和目標(biāo)約束,優(yōu)先因子

?三個(gè)概念

? 概念一:正負(fù)偏差變量,衡量每個(gè)目標(biāo)的完成情況

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 該目標(biāo)是“盡可能使利潤(rùn)不少于56萬”,超了好還是差了好?當(dāng)然超了好!而且超再多也不怕

? 即正偏差變量是多少,都無所謂;

? 而該目標(biāo)追求“盡量不少于”,意味著負(fù)偏差變量美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔越小越好

? 目標(biāo)函數(shù)(根據(jù)偏差變量)

? 第1個(gè)目標(biāo)要求不超過目標(biāo)值,意味著偏差變量美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔越好

? 利用優(yōu)先因子,從題目要求的目標(biāo)3中獲得目標(biāo)函數(shù)

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 第3個(gè)目標(biāo)要求不少于目標(biāo)值,意味著負(fù)偏差變量美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔越好

? 利用優(yōu)先因子,從題目要求的目標(biāo)3中獲得目標(biāo)函數(shù):

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 第2個(gè)目標(biāo)的子目標(biāo)

? 第2個(gè)目標(biāo)中其實(shí)包含兩個(gè)子目標(biāo): “充分利用設(shè)備”和“不希望加班”

? 正偏差變量美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔代表加班時(shí)間, 負(fù)偏差變量美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔代表沒有充分利用設(shè)備的時(shí)間

? “充分利用設(shè)備”意味著總生產(chǎn)時(shí)間不少于10,即美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔? 10

? “不希望加班”意味著總生產(chǎn)時(shí)間不大于10,即美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔? 10

? 同時(shí)滿足這兩條,就是對(duì)這兩個(gè)子目標(biāo)取交集,所以目標(biāo)2寫做美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔= 10

? 所以第2個(gè)目標(biāo)要求等于目標(biāo)值,意味著正負(fù)偏差都盡量小

? 利用優(yōu)先因子,從題目要求的目標(biāo)2中獲得目標(biāo)函數(shù):

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 第2個(gè)目標(biāo)細(xì)化

? 上一頁(yè)中,目標(biāo)函數(shù)min(美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 +美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 )是基于目標(biāo)2中的兩個(gè)子目標(biāo)重要性相同的前提

? 現(xiàn)實(shí)中,“充分利用設(shè)備”和“不希望加班”還是存在重要性的差別

? 假如題目中提到“近期訂單較多”之類的語句,那么“不希望加班”的重要性就較低

? 此時(shí)可給美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔再分別賦權(quán)重,稱為權(quán)系數(shù),以區(qū)分重要性,例如目標(biāo)函數(shù)改為:

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 意味著“不加班”的重要性較低,讓步于“充分利用設(shè)備”

? 本課程例題不考慮該類情況,依舊使用min (美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 +美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 )

? 補(bǔ)充:類似的情況,比如在銷售時(shí)有“盡量把所有產(chǎn)品都賣完” 的目標(biāo),但不同產(chǎn)品利潤(rùn)不一樣,現(xiàn)實(shí)中當(dāng)然是先盡量把利潤(rùn)高的賣完,這種目標(biāo)就可根據(jù)利潤(rùn)比來給同一個(gè)目標(biāo)下的不同偏差變量設(shè)定權(quán)重

? 概念二:絕對(duì)約束和目標(biāo)約束

? 絕對(duì)約束

是模型中自帶的約束條件,必須滿足,否則是不可行解

? 例如美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 ? 11使用材料的數(shù)量不能超過總量(總不能憑空變出來材料吧)

? 目標(biāo)約束

是模型中對(duì)不等式右端追求的值允許有偏差

? 以目標(biāo)3為例:盡可能使利潤(rùn)不少于56萬,也就是?? =美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 ? 56

? “盡可能”三個(gè)字意味著允許有偏差,也就是多于56或少于56都行

? “偏差”就是加入正負(fù)偏差變量,變成: 8美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔+ 10美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔+美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔=56

? 利用正負(fù)偏差變量,從目標(biāo)3中獲得等式約束條件(加上不足的減去多余的)

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 利用實(shí)際值與目標(biāo)值之間存在“偏差”,即正負(fù)偏差變量,多退少補(bǔ)

? 把目標(biāo)函數(shù)中的不等式約束變成了等式約束

? 實(shí)際值加上未達(dá)到的部分、減去超過的部分,就等于目標(biāo)值

? 概念三:優(yōu)先因子

? 三個(gè)目標(biāo):1.盡量使產(chǎn)品Ⅰ的產(chǎn)量不超過產(chǎn)品Ⅱ的產(chǎn)量;2.盡可能充分利用設(shè)備,但不希望加

班; 3.盡可能使利潤(rùn)不少于56

? 這三者可能難以同時(shí)滿足,到底哪個(gè)更重要?

? 例如,根據(jù)文獻(xiàn)或題目要求等,目標(biāo)1最重要,設(shè)最重要的目標(biāo)的優(yōu)先因子是p1

? 目標(biāo)2第二重要,設(shè)其優(yōu)先因子是p2

? 目標(biāo)3第三重要,設(shè)其優(yōu)先因子是p3

? 那么三個(gè)目標(biāo)重要性就是目標(biāo)1>目標(biāo)2>目標(biāo)3

? 注意不同的求解方法下,優(yōu)先因子的作用是不同的

? 序貫算法中,優(yōu)先因子只是用來區(qū)分目標(biāo)的相對(duì)重要性,不需要其具體數(shù)值

? 而在線性加權(quán)法中,需要確定具體數(shù)值(該方法過于簡(jiǎn)單、適用性小,不建議使用)

? 序貫算法的具體操作會(huì)在第四部分代碼求解時(shí)講解

? 總結(jié)

? 題目:某工廠生產(chǎn)產(chǎn)品Ⅰ和產(chǎn)品Ⅱ,有關(guān)數(shù)據(jù)如下,有3個(gè)目標(biāo):

? 1.盡量使產(chǎn)品Ⅰ的產(chǎn)量不超過產(chǎn)品Ⅱ的產(chǎn)量;

? 2.盡可能充分利用設(shè)備且不加班;

? 3.盡可能使利潤(rùn)不少于56萬

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 解題基本步驟

? 根據(jù)目標(biāo)約束寫出等式約束條件;

? 根據(jù)正負(fù)偏差變量和優(yōu)先因子,得到不同目標(biāo)的目標(biāo)函數(shù);

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 別忘了題目還有絕對(duì)約束:美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 ? 11,因?yàn)樯a(chǎn)材料有限

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

因?yàn)槠钪泻衳所以目標(biāo)函數(shù)中是含有x變量的,得出最后求解偏差的式子

?代碼求解

? 求解多目標(biāo)規(guī)劃

? 通用解法:

? 根據(jù)優(yōu)先因子的先后次序,將問題分解成單目標(biāo)規(guī)劃

? 三個(gè)目標(biāo),每個(gè)目標(biāo)都可視為單目標(biāo)的線性規(guī)劃

? 常用解法:序貫算法

? 根據(jù)模型中各個(gè)目標(biāo)的優(yōu)先級(jí)(優(yōu)先因子),確定各目標(biāo)的求解次序(盡量減少主觀性不設(shè)置數(shù)值只設(shè)置p1,p2,p3等)

? 求第一級(jí)單目標(biāo)規(guī)劃的最優(yōu)值記為美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 以第一級(jí)單目標(biāo)等于最優(yōu)值美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔為新的約束,求第二級(jí)目標(biāo)最優(yōu)值,記為美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 依次遞推,直到所有目標(biāo)都求完,或不存在可行解為止

? 多目標(biāo)規(guī)劃還涉及帕累托解等概念,以后補(bǔ)充。

? 代碼分析

? 求第一級(jí)目標(biāo)(i=1)時(shí)

? 目標(biāo)函數(shù)和約束條件,對(duì)于三個(gè)目標(biāo)的偏差變量都沒有約束

? 代碼中用小于等于一個(gè)很大的數(shù)來表示。但既然說沒有約束,那不寫這三個(gè)約束不就行了么?

? 為的是后面有約束時(shí)只要更新不等式右邊的數(shù)值即可,而不必增加新的約束,便于簡(jiǎn)化代碼

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 求第二級(jí)目標(biāo)(i=2)時(shí)

? 因?yàn)榈谝患?jí)求得最優(yōu)值美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔= 0 ,把該條作為新約束加入約束條件里

? 因?yàn)槊恳粋€(gè)目標(biāo)都是最小化偏差變量,所以新加入的約束寫作美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔? 0,等價(jià)于美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔= 0

? 思考:為什么取“?”等價(jià)于“=”?既然等價(jià),為什么不直接寫美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔= 0?

? 這樣做是為了代碼簡(jiǎn)潔統(tǒng)一,只要更新不等式右邊的數(shù)值即可

? 此時(shí)的目標(biāo)函數(shù)和約束條件:

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 求第三級(jí)目標(biāo)(i=3)時(shí)

? 第二級(jí)求得最優(yōu)解美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔+美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔= 0,把該條加入約束條件里

? 與上一頁(yè)所講的一樣,同樣以小于等于代替等于

? 此時(shí)的目標(biāo)函數(shù)和約束條件:

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 求解結(jié)果

? 三級(jí)都求完了,迭代結(jié)束,求得滿意解為美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 = 2, 美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔 = 4。得數(shù)為整數(shù),如果是小數(shù)可以使用整數(shù)規(guī)劃,多加一個(gè)約束條件,向下取整以保證滿足約束條件

? 在優(yōu)先考慮盡量使產(chǎn)品Ⅰ產(chǎn)量不超過產(chǎn)品Ⅱ,其次盡可能充分利用設(shè)備且不加班,最后盡可能使利潤(rùn)不少于56萬的情況下,應(yīng)該安排每天生產(chǎn)2臺(tái)設(shè)備Ⅰ,4臺(tái)設(shè)備Ⅱ。

? 注意多目標(biāo)規(guī)劃求得的叫做“滿意解”而不是“最優(yōu)解”

? 多目標(biāo)規(guī)劃沒有最優(yōu)的概念

? 因?yàn)樵谇蠼膺^程中,三個(gè)目標(biāo)的重要性的設(shè)定是具有主觀性的,比賽時(shí)應(yīng)盡量避免主觀性

? 假如改變?nèi)齻€(gè)目標(biāo)的重要性排序,那么求解結(jié)果也會(huì)變

本節(jié)課涉及的優(yōu)化變量optimvar、優(yōu)化問題optimproblem概念

MATLAB官方講解:

https://ww2.mathworks.cn/help/optim/ug/optimvar.html

https://ww2.mathworks.cn/help/optim/ug/optim.problemdef.optimizationproblem.solve.html?searchHighlight=solve&s_tid=srchtitle_solve_2

當(dāng)前模型:

美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔

? 代碼實(shí)現(xiàn)

clc, clear
% 使用優(yōu)化變量、優(yōu)化問題來求解
% 創(chuàng)建優(yōu)化變量x,dp和dm,類似于利用C++的類optimvar來創(chuàng)建對(duì)象x,dp,dm
% 可以用來為目標(biāo)函數(shù)和問題約束創(chuàng)建表達(dá)式;optimvar是matlab自帶的關(guān)鍵詞,意思是要定義優(yōu)化變量x(里外統(tǒng)一)
x = optimvar('x',2,'LowerBound',0);   % 定義兩個(gè)變量x,最小值lowerbound(matlab自帶關(guān)鍵詞)都為0
dp = optimvar('dp',3,'LowerBound',0); % 定義3個(gè)正偏差變量dp,最小值都為0
dm = optimvar('dm',3,'LowerBound',0); % 定義3個(gè)負(fù)偏差變量dm,最小值都為0

% 創(chuàng)建求最小值的優(yōu)化問題p;optimproblem(自帶)創(chuàng)建優(yōu)化類問題
p=optimproblem('ObjectiveSense','min'); %objectivesense表示設(shè)置的問題類型(一個(gè)屬性),本句表示求解問題的最小值
%還有其他屬性,可自行查詢
美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔
% 設(shè)置優(yōu)化問題的約束條件
p.Constraints.cons1 = ( 2*x(1)+x(2)<=11 );  %constraints(關(guān)鍵詞)表示約束條件;cons1為約束條件的第一條,也可表示第一次寫入約束條件(可以寫一條,也可以寫多條,多條時(shí)換行即可,不需要加符號(hào))
% 注意,表示相等關(guān)系用的符號(hào)是"=="
p.Constraints.cons2=[x(1)-x(2)+dm(1)-dp(1)==0       
                     x(1)+2*x(2)+dm(2)-dp(2)==10
                     8*x(1)+10*x(2)+dm(3)-dp(3)==56];
美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃,數(shù)學(xué)建模,matlab,算法,開發(fā)語言,Powered by 金山文檔
% 設(shè)置目標(biāo)函數(shù)obj
obj=[dp(1); dm(2)+dp(2); dm(3)];
% 單級(jí)目標(biāo)函數(shù)的最優(yōu)值goal,初始設(shè)為足夠大的數(shù)
% 非常寬松的約束就等于沒有約束,確保第一級(jí)的正常運(yùn)算
goal=100000*ones(3,1);  %三行一列的矩陣,每個(gè)數(shù)都是100000

for i=1:3
    % 重要:更新上一級(jí)的最優(yōu)值,作為該級(jí)的約束條件;
    p.Constraints.cons3=[obj<=goal]; %增加一個(gè)新約束,<=在此處只有=的作用,有小于好處是在迭代中直接更改右邊的數(shù)值,簡(jiǎn)化編程過程,而小于號(hào)無影響是因?yàn)樯弦患?jí)已經(jīng)求出來的就是最優(yōu)解
    p.Objective=obj(i);
    [sx,fval]=solve(p);     % 針對(duì)優(yōu)化問題使用solve,會(huì)自動(dòng)選擇求解方式*****很好用
    fprintf('第%d級(jí)目標(biāo)求解為:\n',i)
    fval, xx=sx.x, sdm=sx.dm, sdp=sx.dp %sx.x表示最優(yōu)解中x的數(shù)值,sx中還含有其他參數(shù)
    goal(i)=fval;  %更新迭代
end

代碼中的solve()用來求解優(yōu)化類問題,會(huì)自動(dòng)判斷問題類型并調(diào)用默認(rèn)求解器

求每一級(jí)目標(biāo)(i=1,2,3)時(shí)相應(yīng)變化的約束條件見PPT

三級(jí)都求完了,迭代結(jié)束,求得滿意解為。即應(yīng)該安排每天生產(chǎn)2臺(tái)設(shè)備Ⅰ,4臺(tái)設(shè)備Ⅱ。

注意多目標(biāo)規(guī)劃求得的叫做“滿意解”而不是“最優(yōu)解”,多目標(biāo)規(guī)劃的最終解沒有最優(yōu)的概念。因?yàn)樵谇蠼膺^程中,三個(gè)目標(biāo)的重要性的設(shè)定是具有主觀性的,假如改變?nèi)齻€(gè)目標(biāo)的重要性排序,那么求解結(jié)果也會(huì)變。文章來源地址http://www.zghlxwxcb.cn/news/detail-594120.html

到了這里,關(guān)于美賽BOOM數(shù)學(xué)建模BOOM1-4多目標(biāo)規(guī)劃的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)學(xué)建模常用算法—多目標(biāo)規(guī)劃

    數(shù)學(xué)建模常用算法—多目標(biāo)規(guī)劃

    前面我們已經(jīng)學(xué)習(xí)了線性規(guī)劃及非線性規(guī)劃,接下來帶大家一起學(xué)習(xí)多目標(biāo)規(guī)劃模型。 目錄 模型的含義 求解思路 建立目標(biāo)規(guī)劃的條件 目標(biāo)規(guī)劃的目標(biāo)函數(shù) 目標(biāo)規(guī)劃的模型應(yīng)用 模型的建立 目標(biāo)規(guī)劃的一般數(shù)學(xué)模型 模型示例與求解 多目標(biāo)規(guī)劃是數(shù)學(xué)規(guī)劃的一個(gè)分支。研究多

    2023年04月12日
    瀏覽(28)
  • 數(shù)學(xué)建模學(xué)習(xí)(8):?jiǎn)文繕?biāo)和多目標(biāo)規(guī)劃

    數(shù)學(xué)建模學(xué)習(xí)(8):?jiǎn)文繕?biāo)和多目標(biāo)規(guī)劃

    優(yōu)化 優(yōu)化算法是指在滿足一定條件下,在眾多方案中或者參數(shù)中最優(yōu)方案,或者參數(shù)值,以使得某個(gè)或者多個(gè)功能指標(biāo)達(dá)到最優(yōu),或使得系統(tǒng)的某些性能指標(biāo)達(dá)到最大值或者最小值 線性規(guī)劃是指目標(biāo)函數(shù)和約束都是線性的情況 [x,fval]=linprog(f,A,b,Aeq,Beq,LB,UB) x:求得最優(yōu)情況下變量的

    2024年02月15日
    瀏覽(18)
  • 數(shù)學(xué)建模十大算法03—線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、多目標(biāo)規(guī)劃

    數(shù)學(xué)建模十大算法03—線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、多目標(biāo)規(guī)劃

    一、線性規(guī)劃(Linear Programming,LP) 1.1 引例 在人們的生產(chǎn)實(shí)踐中,經(jīng)常會(huì)遇到 如何利用現(xiàn)有資源來安排生產(chǎn),以取得最大經(jīng)濟(jì)效益的問題。 此類問題構(gòu)成了運(yùn)籌學(xué)的一個(gè)重要分支一數(shù)學(xué)規(guī)劃,而 線性規(guī)劃(Linear Programming, LP) 則是數(shù)學(xué)規(guī)劃的一個(gè)重要分支。 簡(jiǎn)而言之,線

    2024年02月13日
    瀏覽(27)
  • 數(shù)學(xué)建模| 線性規(guī)劃(Matlab)

    線性規(guī)劃:約束條件和目標(biāo)函數(shù)都是線性的。簡(jiǎn)單點(diǎn)說,所有的決策變量在目標(biāo)函數(shù)和約束條件中都是一次方。 Matlab函數(shù): 參數(shù)解釋: func 表示目標(biāo)函數(shù)。 A 表示不等式約束條件系數(shù)矩陣,b 表示不等式約束條件常數(shù)矩陣。 Aeq 表示等式約束條件系數(shù)矩陣,beq 表示等式約束條

    2024年02月07日
    瀏覽(31)
  • MATLAB-數(shù)學(xué)建模-線性規(guī)劃-1

    目錄 1.1? 線性規(guī)劃模型的一般形式: 1.2? 線性規(guī)劃模型? ? ? ? ? minz=f(x) ? ? ? ? s.t.? ?? (i=1,2,···,m) 1和2組成的模型屬于約束優(yōu)化? f(x)稱為目標(biāo)函數(shù),稱為約束條件?? 決策變量 、 目標(biāo)函數(shù) 、 約束條件 構(gòu)成了線性規(guī)劃的3個(gè)基本要素 min? ? u=cx s.t.? ? ? Ax b ? ? ? ?

    2024年02月09日
    瀏覽(20)
  • 數(shù)學(xué)建模| 非線性規(guī)劃(Matlab)

    非線性規(guī)劃:約束條件和目標(biāo)函數(shù)存在非線性函數(shù)。簡(jiǎn)單點(diǎn)說,約束條件和目標(biāo)函數(shù)中至少一個(gè)決策變量不是一次方,例如三角函數(shù)、對(duì)數(shù)、多次方等。 線性規(guī)劃和非線性在解決上的不同:線性規(guī)劃可以有通用方法,但是非線性規(guī)劃的求解是沒有特定算的,只能用近似的算法

    2024年02月07日
    瀏覽(20)
  • 數(shù)學(xué)建模之matlab中線性規(guī)劃

    數(shù)學(xué)建模之matlab中線性規(guī)劃

    目錄 一、線性規(guī)劃的標(biāo)準(zhǔn)形式 二、整數(shù)規(guī)劃 二、整數(shù)規(guī)劃之分支定界 1.概念 2、代碼實(shí)現(xiàn) 三、整數(shù)規(guī)劃之割平面法 1、基本思想 ?2、代碼實(shí)現(xiàn) 四、整數(shù)規(guī)劃之匈牙利算法(0-1) 1、適用情況 ①0-1變量的使用 ② 互斥問題 ?③固定費(fèi)用問題 ④指派問題 ?2、指派問題中匈牙利

    2024年02月04日
    瀏覽(18)
  • 【數(shù)學(xué)建模】《實(shí)戰(zhàn)數(shù)學(xué)建模:例題與講解》第二講-線性規(guī)劃(含Matlab代碼)

    【數(shù)學(xué)建?!俊秾?shí)戰(zhàn)數(shù)學(xué)建模:例題與講解》第二講-線性規(guī)劃(含Matlab代碼)

    如果這篇文章對(duì)你有幫助,歡迎點(diǎn)贊與收藏~ 線性規(guī)劃(Linear Programming,LP)是一種在數(shù)學(xué)規(guī)劃領(lǐng)域中應(yīng)用廣泛的最優(yōu)化問題解決方法。其基本思想是在一系列約束條件下,通過建立線性數(shù)學(xué)模型來描述目標(biāo)函數(shù),以求得使目標(biāo)函數(shù)最大或最小的決策變量值。線性規(guī)劃在運(yùn)籌學(xué)

    2024年02月04日
    瀏覽(28)
  • 數(shù)學(xué)建模|多目標(biāo)規(guī)劃+序貫算法|簡(jiǎn)要原理+實(shí)例matalb代碼實(shí)現(xiàn)

    數(shù)學(xué)建模|多目標(biāo)規(guī)劃+序貫算法|簡(jiǎn)要原理+實(shí)例matalb代碼實(shí)現(xiàn)

    (1) 正負(fù)偏差變量 【衡量每個(gè)目標(biāo)的完成情況】 設(shè)??為第i個(gè)目標(biāo)函數(shù)的實(shí)際值; 設(shè)??表示??的目標(biāo)值 正偏差變量 ? 【表示實(shí)際值 超過 目標(biāo)值的部分】 ? ?負(fù)偏差變量?【表示實(shí)際值 未達(dá)到 目標(biāo)值的部分】 ? ?實(shí)例說明: 目標(biāo)函數(shù)實(shí)際值 目標(biāo)值 正偏差變量 負(fù)偏差變量

    2024年02月12日
    瀏覽(22)
  • 數(shù)學(xué)建模美賽(模型積累2)

    看這個(gè),寫的很詳細(xì)(??????)?? DBSCAN聚類:基于密度的方法的特點(diǎn)是不依賴于距離,而是依賴于密度,從而克服基于距離的算法只能發(fā)現(xiàn)“球形”聚簇的缺點(diǎn) 爬蟲入門教程:【Python+爬蟲】爆肝兩個(gè)月!拜托三連了!這絕對(duì)是全B站最用心(沒有之一) (這個(gè)up講課很可

    2024年02月19日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包