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

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法

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

目錄

一、0-1型整數(shù)規(guī)劃問(wèn)題

1.1 案例

1.2 指派問(wèn)題的標(biāo)準(zhǔn)形式

2.2 非標(biāo)準(zhǔn)形式的指派問(wèn)題

二、指派問(wèn)題的匈牙利解法?

2.1 匈牙利解法的一般步驟

2.2 匈牙利解法的實(shí)例

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


一、0-1型整數(shù)規(guī)劃問(wèn)題

1.1 案例

投資問(wèn)題:

有600萬(wàn)元投資5個(gè)項(xiàng)目,收益如表,求利潤(rùn)最大的方案?

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

設(shè)置決策變量:

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

模型:

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

指派問(wèn)題:

甲乙丙丁四個(gè)人,ABCD四項(xiàng)工作,要求每人只能做一項(xiàng)工作,每項(xiàng)工作只由一人完成,問(wèn)如何指派總時(shí)間最短?

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

設(shè)置決策變量:

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

模型:

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

約束條件:

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

1.2 指派問(wèn)題的標(biāo)準(zhǔn)形式

標(biāo)準(zhǔn)的指派問(wèn)題

有n個(gè)人和n項(xiàng)工作,已知第i個(gè)人做第j項(xiàng)工作的代價(jià)為cj(i,j=1,…..,n),要求每項(xiàng)工作只能交與其中一人完成,每個(gè)人只能完成其中一項(xiàng)工作,問(wèn)如何分配可使總代價(jià)最少?

指派問(wèn)題標(biāo)準(zhǔn)求解形式

(1) 指派問(wèn)題的系數(shù)矩陣

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

(2)決策變量的設(shè)置

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

(3)指派問(wèn)題的解矩陣

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

?指派問(wèn)題的可行解中,每行每列有且僅有一個(gè)1。

(4)標(biāo)準(zhǔn)模型

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

2.2 非標(biāo)準(zhǔn)形式的指派問(wèn)題

(1)最大化指派問(wèn)題

例如:求利潤(rùn),只需找出最大元素,令最大元素減去所有元素,構(gòu)建一個(gè)新的系數(shù)矩陣即可。

中最大元素為m,令 。

(2)人數(shù)和工作數(shù)不等

人少工作多:添加虛擬的 “人”,代價(jià)都為0。

人多工作少:添加虛擬的工作,代價(jià)都為0。

(3)一個(gè)人可做多件工作
該人可化為幾個(gè)相同的 “人”。

(4)某工作一定不能由某人做
該人做該工作的相應(yīng)代價(jià)取足夠大M。例如,將某人做某工作代價(jià)設(shè)為負(fù)值。

二、指派問(wèn)題的匈牙利解法?

匈牙利法是一種求解指派問(wèn)題的簡(jiǎn)便解法,它利用了矩陣中0元素的定理。若從系數(shù)矩陣的一行(列)各元素中分別減去該行(列)的最小元素,得到新矩陣。以新矩陣為系數(shù)矩陣求得的最優(yōu)解和用原矩陣求得的最優(yōu)解相同。

2.1 匈牙利解法的一般步驟

第一步變換指派問(wèn)題的系數(shù)(也稱效率)矩陣()為(),使在()的各行各列中都出現(xiàn)0元素,即

  • (1) 從矩陣()的每行元素都減去該行的最小元素
  • (2) 再?gòu)乃眯孪禂?shù)矩陣的每列元素中減去該列的最小元素。

第二步:進(jìn)行試指派,以尋求最優(yōu)解。

在()中找盡可能多的獨(dú)立0元素(即行和列中只有這一個(gè)0元素),若能找出n個(gè)獨(dú)立0元素,就以這n個(gè)獨(dú)立0元素對(duì)應(yīng)解矩陣()中的元素為1,其余為0,這就得到最優(yōu)解。找獨(dú)立0元素,常用的步驟為:

  • (1) 從只有一個(gè)0元素的行開(kāi)始,給這個(gè)0元素加圈,記作,然后劃去所在列的其它0元素,記作數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃。這表示這列所代表的任務(wù)已指派完,不必再考慮別人了。
  • (2) 給只有一個(gè)0元素的列中的0元素加圈,記作,然后劃去所在行的0元素,記作數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃
  • (3) 反復(fù)進(jìn)行(1),(2)兩步,直到盡可能多的0元素都被圈出和劃掉為止。
  • (4) 若仍有沒(méi)有劃圈的0元素,且同行(列)的0元素至少有兩個(gè),則從剩有0元素最少的行(列)開(kāi)始,比較這行各0元素所在列中0元素的數(shù)目,選擇0元素少的那列的這個(gè)0元素加圈。然后劃掉同行同列的其它0元素。可反復(fù)進(jìn)行,直到所有0元素都已圈出和劃掉為止
  • (5) 若元素的數(shù)目m等于矩陣的階數(shù)n,那么這指派問(wèn)題的最優(yōu)解已得到。若m<n,則轉(zhuǎn)入下一步。

第三步:作最少的直線覆蓋所有0元素。

  • (1) 對(duì)沒(méi)有的打√號(hào);
  • (2) 對(duì)已打√號(hào)的行中所有含數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃元素的打√號(hào)。
  • (3) 再對(duì)打有√號(hào)的列中含元素的打√號(hào)。
  • (4) 重復(fù)(2),(3)直到得不出新的打√號(hào)的行、列為止。
  • (5) 對(duì)沒(méi)有打√號(hào)的行畫(huà)橫線,有打√號(hào)的列畫(huà)縱線,這就得到覆蓋所有0元素的最少直線數(shù) 。 應(yīng)等于m,轉(zhuǎn)第四步。若不相等,說(shuō)明試指派過(guò)程有誤,回到第二步(4)。

第四步:變換矩陣()以增加0元素。

在沒(méi)有被直線覆蓋的所有元素中找出最小元素,然后打√各行都減去這最小元素。打√各列都加上這最小元素(以保證系數(shù)矩陣中不出現(xiàn)負(fù)元素)。新系數(shù)矩陣的最優(yōu)解和原問(wèn)題仍相同。轉(zhuǎn)回第二步,直到找出最優(yōu)解。

2.2 匈牙利解法的實(shí)例

?甲乙丙丁四人要完成四項(xiàng)工作A、B、C、D,每人只能完成一項(xiàng)工作,要求完成總時(shí)間最短。

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

匈牙利解法

第一步:減去最小值。

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

第二步:加圈和劃掉,比較圈數(shù)是否等于矩陣的階數(shù)。

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

等于,則輸出最優(yōu)值, 否則,轉(zhuǎn)到第三步重整矩陣。

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃

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

c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 5; 8 4 2 3 5;9 10 6 9 10];%系數(shù)矩陣
 
c=c(:);    %把矩陣c轉(zhuǎn)化為向量 

a=zeros(10,25);
 
for i=1:5   % 實(shí)現(xiàn)循環(huán)運(yùn)算
a(i,(i-1)*5+1:5*i)=1; 
a(5+i,i:5:25)=1;
end         % 此循環(huán)把指派問(wèn)題轉(zhuǎn)換為線性規(guī)劃問(wèn)題
 
b=ones(10,1); 
 
[x,y]=linprog(c,[],[],a,b,zeros(25,1),ones(25,1));

X=reshape(x,5,5)

opt=y

輸出

數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法,數(shù)學(xué)建模,數(shù)學(xué)建模,匈牙利算法,指派規(guī)劃文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-667656.html

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

本文來(lái)自互聯(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)文章

  • 二分圖最大匹配——匈牙利算法詳解

    二分圖最大匹配——匈牙利算法詳解

    關(guān)于二分圖的基本知識(shí)見(jiàn):二分圖及染色法判定 一位紅娘近日遇到一群曖昧男女,被請(qǐng)求成全他們,經(jīng)驗(yàn)豐富的紅娘觀察到 一名男生可能有多名青睞的女生,一名女生也可能有多名青睞的男生 ,但是出于道德倫理要求,顯然只能兩兩男女配對(duì),為了盡可能使大家滿意,她要

    2024年01月21日
    瀏覽(16)
  • DETR代碼學(xué)習(xí)(五)之匈牙利匹配

    DETR代碼學(xué)習(xí)(五)之匈牙利匹配

    匈牙利匹配先前在損失函數(shù)那塊已經(jīng)介紹過(guò),但講述了并不清晰,而且準(zhǔn)確來(lái)說(shuō),匈牙利匹配所用的cost值與損失函數(shù)并沒(méi)有關(guān)系,因此今天我們來(lái)看一下匈牙利匹配這塊的代碼與其原理。 前面已經(jīng)說(shuō)過(guò),DETR將目標(biāo)檢測(cè)看作集合預(yù)測(cè)問(wèn)題,在最后的預(yù)測(cè)值與真實(shí)值匹配過(guò)程,

    2024年02月09日
    瀏覽(19)
  • 數(shù)學(xué)建模(三)整數(shù)規(guī)劃

    數(shù)學(xué)建模(三)整數(shù)規(guī)劃

    視頻推薦:B站_數(shù)學(xué)建模老哥 目錄 一、整數(shù)規(guī)劃基本原理 1.1 整數(shù)規(guī)劃的分類(lèi) 1.2 整數(shù)規(guī)劃的特點(diǎn) 1.3 案例 1.4? 整數(shù)規(guī)劃的數(shù)學(xué)模型一般形式 二、整數(shù)線性規(guī)劃的求解方法 2.1 分枝定界法 2.1.1 分枝定界法的求解過(guò)程 2.1.2 案例 2.1.3 代碼實(shí)現(xiàn) 2.2 割平面法 2.2.1 割平面法的基本思

    2024年02月12日
    瀏覽(22)
  • 數(shù)學(xué)建模之整數(shù)規(guī)劃

    數(shù)學(xué)建模之整數(shù)規(guī)劃

    1?定義 數(shù)學(xué)規(guī)劃中,變量部分或全部限制為整數(shù),叫整數(shù)規(guī)劃。 線性規(guī)劃中,變量全是整數(shù),叫整數(shù)線性規(guī)劃。 2 分類(lèi) 依據(jù)是否變量全為整數(shù),分為完全整數(shù)規(guī)劃和混合整數(shù)規(guī)劃。 依據(jù)決策變量要求,分為純整數(shù),混合整數(shù),全整數(shù)以及0-1規(guī)劃。 ?注:1)松弛變量和剩余

    2024年02月12日
    瀏覽(41)
  • 數(shù)學(xué)建?!麛?shù)規(guī)劃

    數(shù)學(xué)建?!麛?shù)規(guī)劃

    目錄 基本概念 整數(shù)規(guī)劃模型求解 整數(shù)線性規(guī)劃模型求解 蒙特卡洛求解? 遺傳算法求解? ?其他 一部分或全部決策變量必須取整數(shù)值的規(guī)劃問(wèn)題稱為 整數(shù)規(guī)劃 。 純整數(shù)規(guī)劃:全部決策變量都為整數(shù);混合整數(shù)規(guī)劃:決策變量有一部分是整數(shù)值,另一部分不是整數(shù);0-1整數(shù)規(guī)

    2024年02月07日
    瀏覽(22)
  • DETR | 基于匈牙利算法的樣本分配策略

    DETR | 基于匈牙利算法的樣本分配策略

    如有錯(cuò)誤,懇請(qǐng)指出。 前不久,沐神對(duì)DETR進(jìn)行了講解,其實(shí)之前也對(duì)DETR進(jìn)行了介紹,見(jiàn):論文閱讀筆記 | 目標(biāo)檢測(cè)算法——DETR?,F(xiàn)對(duì)DETR的核心內(nèi)容進(jìn)行重溫,也就是其所提出的目標(biāo)檢測(cè)的end-to-end框架,輸入的是一張圖像,輸出的直接是最后的預(yù)測(cè)標(biāo)注結(jié)果,不再需要后處

    2024年02月11日
    瀏覽(24)
  • AcWing 372. 棋盤(pán)覆蓋(二分圖&&匈牙利算法)

    AcWing 372. 棋盤(pán)覆蓋(二分圖&&匈牙利算法)

    輸入樣例: 輸出樣例: 解析: ? ? ? ? n為100,狀壓肯定爆。 ? ? ? ? 將每個(gè)骨牌看成二分圖的一個(gè)匹配,即查找二分圖的一個(gè)最大匹配,匈牙利算法。

    2024年02月14日
    瀏覽(22)
  • 數(shù)學(xué)建?!麛?shù)規(guī)劃(0-1規(guī)劃)問(wèn)題

    數(shù)學(xué)建模——整數(shù)規(guī)劃(0-1規(guī)劃)問(wèn)題

    題目:現(xiàn)擬將錄用的8名公務(wù)員安排到所屬的7個(gè)部門(mén),并且要求每個(gè)部門(mén)至少安排一名公員。 x招聘領(lǐng)導(dǎo)小組在確定錄用名單的過(guò)程中,本著公平、公開(kāi)的原則,同時(shí)考慮錄用人員的合理分配和使用,有利于發(fā)揮個(gè)人的特長(zhǎng)和能力。招聘領(lǐng)導(dǎo)小組將7個(gè)用人單位的基本情況(包

    2023年04月17日
    瀏覽(27)
  • 圖論及其應(yīng)用(匈牙利算法)---期末胡亂復(fù)習(xí)版

    圖論及其應(yīng)用(匈牙利算法)---期末胡亂復(fù)習(xí)版

    T1:從下圖中給定的 M = {x1y4,x2y2,x3y1,x4y5},用 Hungariam算法【匈牙利算法】 求出圖中的 完美匹配 ,并寫(xiě)出步驟。 關(guān)于匈牙利算法: 需要注意的是,匈牙利算法僅適用于 二分圖 ,并且能夠找到完美匹配。 什么是 交替路 ?從一個(gè)未匹配點(diǎn)出發(fā),依次經(jīng)過(guò)非匹配邊–匹配邊

    2024年02月01日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包