欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對(duì)象與角色多對(duì)一優(yōu)化匹配的方法與流程

文檔序號(hào):11520443閱讀:324來(lái)源:國(guó)知局

本發(fā)明屬于計(jì)算機(jī)優(yōu)化方法技術(shù)領(lǐng)域,具體涉及一種對(duì)象與角色多對(duì)一優(yōu)化匹配的方法。



背景技術(shù):

隨著我國(guó)科學(xué)技術(shù)和社會(huì)的快速發(fā)展,協(xié)同作業(yè)在越來(lái)越多的行業(yè)中變得日益重要,例如:工廠流水線的人員安排、軍事行動(dòng)的組織等。對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題便是協(xié)同作業(yè)中的一種基本問(wèn)題,其表現(xiàn)形式為:有一定數(shù)量的角色各需匹配一定數(shù)量的對(duì)象,任意一個(gè)對(duì)象可以被匹配在任意一個(gè)角色上,并產(chǎn)生其在該角色上的成本或回報(bào),要求為各角色匹配與其要求數(shù)量相等對(duì)象的同時(shí),要保證所作出的匹配方案的最優(yōu)性,即該匹配方案是所有可能方案中總成本最小或總回報(bào)最大的匹配方案。

在計(jì)算機(jī)優(yōu)化算法領(lǐng)域,對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題通常被歸為np類問(wèn)題,即難以用計(jì)算機(jī)算法高效解決的問(wèn)題,但在實(shí)際應(yīng)用中,該問(wèn)題又是工程管理與人力資源管理中常會(huì)遇到的一類難題,所做出的匹配方案的優(yōu)劣直接影響著最終的成本或回報(bào)。由此可見(jiàn),設(shè)計(jì)出相應(yīng)的計(jì)算機(jī)算法,以有效解決對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題具有重要的實(shí)用價(jià)值與廣泛的實(shí)用空間。

現(xiàn)如今,針對(duì)對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題的方法只有枚舉法與貪婪法兩類;其中,枚舉法可以保證匹配方案的最優(yōu)性,但算法復(fù)雜度過(guò)高,為o(n!),不具備實(shí)用價(jià)值,而貪婪法盡管有較優(yōu)的算法復(fù)雜度,為o(n2),但其無(wú)法保證匹配方案的最優(yōu)性??梢钥闯觯耗壳吧袥](méi)有一個(gè)針對(duì)對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題的方法可以同時(shí)滿足以下幾個(gè)目標(biāo):

(1)保證匹配方案的最優(yōu)性;(2)較低的算法復(fù)雜度;(3)靈活的優(yōu)化目標(biāo),既能解決回報(bào)最大化問(wèn)題,也能解決成本最小化問(wèn)題;(4)對(duì)參與優(yōu)化匹配的對(duì)象與角色的數(shù)量沒(méi)有限制。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于提供一種對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,能在確保匹配方案最優(yōu)性的同時(shí),具有較低的算法復(fù)雜度和靈活的優(yōu)化目標(biāo)。

本發(fā)明所采用的技術(shù)方案是,對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,具體按照以下步驟實(shí)施:

步驟1、建立用以描述對(duì)象與角色多對(duì)一優(yōu)化問(wèn)題的數(shù)學(xué)模型;

步驟2、對(duì)經(jīng)步驟1建立的數(shù)學(xué)模型進(jìn)行預(yù)處理;

步驟3、經(jīng)過(guò)步驟2后,將對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題轉(zhuǎn)化為等價(jià)的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題;

步驟4、針對(duì)步驟3得到的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題,建立相應(yīng)的輔助標(biāo)記數(shù)據(jù);

步驟5、利用步驟4中建立的輔助標(biāo)記數(shù)據(jù),對(duì)步驟3得到的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題進(jìn)行優(yōu)化處理,獲取對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案;

步驟6、對(duì)步驟5獲得的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案進(jìn)行壓縮,獲取對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案。

本發(fā)明的特點(diǎn)還在于:

步驟1中的數(shù)學(xué)模型包括如下四個(gè)部分:

第一部分:用m表示參與匹配的對(duì)象的數(shù)量;

第二部分:用n表示參與匹配的角色的數(shù)量;

第三部分:角色需求數(shù)組,使用數(shù)組l表示各角色需求的對(duì)象的具體數(shù)量;l的大小為n,l[t](0≤t<n),表示t號(hào)角色要求的對(duì)象數(shù)量;

第四部分:匹配度矩陣;

使用矩陣c表示各參與匹配對(duì)象在各角色上的匹配度,c的大小為m×n,c[i][j](0≤i<m,0≤j<n)表示i號(hào)對(duì)象在j號(hào)角色上的匹配度。

步驟2具體按照以下步驟實(shí)施:

步驟2.1、經(jīng)步驟1后,進(jìn)行合法性檢查;

檢查是否有足夠數(shù)量的對(duì)象以滿足所有角色的需求,即檢查是否滿足如下條件:

若不滿足此條件,則說(shuō)明對(duì)象數(shù)量不足,無(wú)法滿足匹配要求,則退出優(yōu)化程序;

若滿足此條件,則進(jìn)入下一步驟,即進(jìn)入步驟2.2中;

步驟2.2、根據(jù)優(yōu)化目標(biāo)對(duì)匹配度矩陣c進(jìn)行預(yù)處理:

若實(shí)際問(wèn)題是求成本最小化類的問(wèn)題,則保持匹配度矩陣不變;

若是求回報(bào)最大化類的問(wèn)題,對(duì)匹配度矩陣中的每一單元,用匹配度取值上限max減去單元的實(shí)際匹配用度,用所得的結(jié)果替換單元中的值,即c[i][j]=max-c[i][j](0≤i<m,0≤j<n)。

步驟3具體按照以下方法實(shí)施:

步驟3.1、建立拓展匹配度矩陣tc,用以表示對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題中各參與匹配對(duì)象在各角色上的匹配度,tc的大小為:

其中:m表示參與匹配的對(duì)象的數(shù)量;n表示參與匹配的角色的數(shù)量;l[t](0≤t<n),表示t號(hào)角色要求的對(duì)象數(shù)量;

步驟3.2、經(jīng)步驟3.1后,建立拓展匹配度矩陣c中的每一列,逐次寫入拓展匹配度矩陣tc,每一列寫入的次數(shù)與該列所對(duì)應(yīng)的角色在角色需求數(shù)組l中要有的對(duì)象數(shù)量相等;

步驟3.2中要將對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題中的每一角色按其需求的角色數(shù)量進(jìn)行分解。

步驟4中具體包括以下四部分:

第一部分:匹配標(biāo)記矩陣;

使用矩陣m表示對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中,各對(duì)象在各角色上的匹配狀態(tài),m的大小為:

該算法表示i號(hào)對(duì)象在j號(hào)角色上的匹配狀態(tài),匹配狀態(tài)分為:“未匹配”、“已匹配”和“潛在匹配”三種,分別用數(shù)字“0”、“1”、“2”表示;

“未匹配”是指在當(dāng)前狀態(tài)下該對(duì)象不能做為該角色的最優(yōu)匹配;

“已匹配”是指在當(dāng)前狀態(tài)下該對(duì)象已有限做為該角色的最優(yōu)匹配;

“潛在匹配”是指在當(dāng)前狀態(tài)下該對(duì)象能作為該角色的最優(yōu)匹配;

在建立時(shí)將m中所有單元設(shè)置為初始至0;

第二部分:行標(biāo)記數(shù)組,使用數(shù)組row表示對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中,各對(duì)象的狀態(tài),row的大小為m,row[i](0≤i<m)表示i號(hào)對(duì)象的狀態(tài);對(duì)象的狀態(tài)分為“沒(méi)有潛在匹配的角色”與“有潛在匹配的角色”兩種,分別用數(shù)字“0”、“1”表示;

“潛在匹配的角色”是指該對(duì)象作為某角色的“潛在匹配”單元;

在建立時(shí)將row中所有單元設(shè)置為初始值0;

第三部分:列標(biāo)記數(shù)組;

使用數(shù)組col表示對(duì)象與角色一對(duì)一優(yōu)化過(guò)程中,各角色的狀態(tài),col的大小表示i號(hào)角色的狀態(tài),角色的狀態(tài)分別為“沒(méi)有唯一匹配的對(duì)象”與“有唯一匹配的對(duì)象”兩種,分別用數(shù)字“0”、“1”表示;

“唯一匹配的對(duì)象”是指該角色已匹配某一對(duì)象且該對(duì)象不存在潛在匹配的另一角色;

在建立時(shí)將col中所有單元設(shè)置為初始值為0;

第四部分,增益路徑數(shù)組;

使用二維數(shù)組path存儲(chǔ)對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中查找出的增益路徑上的各增益點(diǎn),在匹配標(biāo)記矩陣m中的位置坐標(biāo);path的大小為path[i][0]與path[i][1]分別表示i號(hào)增益點(diǎn)在匹配標(biāo)記矩陣m中的行坐標(biāo)與列坐標(biāo);在建立時(shí)將path置空。

步驟5具體按照以下步驟實(shí)施:

步驟5.1、對(duì)拓展匹配度矩陣tc中的每一列,找出該列中最小值,并對(duì)該列中的每一單元減去該最小值,進(jìn)入下一步驟,即步驟5.2;

步驟5.2、經(jīng)步驟5.1后,逐一檢查拓展匹配矩陣tc中的每一單元;

若某單元的值為0,且其所在行路徑數(shù)組清空,與列中沒(méi)有其他單元被標(biāo)記為“已匹配”,則將該單元標(biāo)記為“已匹配”,將匹配標(biāo)記矩陣m中對(duì)應(yīng)位置的單元值設(shè)置為1,進(jìn)入下一步驟,即進(jìn)入步驟5.3;

步驟5.3、經(jīng)步驟5.2后,逐列檢查匹配標(biāo)記矩陣m,若某列中存在標(biāo)記為“已匹配”的單元,則將該列標(biāo)記為“已唯一匹配對(duì)象”,將列標(biāo)記數(shù)組col中對(duì)應(yīng)單元的值設(shè)置為1;

若最終列標(biāo)記數(shù)組中所有單元的值均為1,則當(dāng)前匹配標(biāo)記矩陣中所有標(biāo)記為“已匹配”的單元構(gòu)成對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,則步驟5結(jié)束,否則進(jìn)入步驟5.4;

步驟5.4、逐一檢查拓展匹配度矩陣tc中的每一個(gè)單元;

若某單元的值為0,且該單元對(duì)應(yīng)的行標(biāo)記與列標(biāo)記值均為0,則將該單元標(biāo)記為“潛在匹配”單元,將匹配標(biāo)記矩陣m中對(duì)應(yīng)單元的值設(shè)置為2,同時(shí)將該單元所在行的標(biāo)記設(shè)置為1;進(jìn)而檢查該“潛在匹配”單元:若其所在行中不存在“已匹配”的單元,則該“潛在匹配”單元為增益路徑的起點(diǎn),將該單元的位置坐標(biāo)計(jì)入增益路徑數(shù)組path后,進(jìn)入步驟5.5,否則將該“潛在匹配”單元所在行中的“已匹配”的單元所在對(duì)應(yīng)列的列標(biāo)記i設(shè)置為0;

若在步驟5.4中未找到任何“潛在匹配”單元或增益路徑的起點(diǎn),進(jìn)入步驟5.6中;

步驟5.5、建立增益路徑,自步驟5.4中找到的作為增益路徑起點(diǎn)的“潛在匹配”單元開(kāi)始,在匹配標(biāo)記矩陣中檢查:

若該“潛在匹配”單元所在列中有在標(biāo)記為“已匹配”的單元開(kāi)始,在匹配標(biāo)記矩陣中檢查;

若該“潛在匹配”單元所在列中有在標(biāo)記為“已匹配”的單元,則將該“已匹配”的單元和該“已匹配”的單元所在行中的“潛在匹配”單元作為增益點(diǎn)添加到增益路徑數(shù)組中,并按照上述方式繼續(xù)檢查此新加入增益路徑的“潛在匹配”單元,直至找到某一“潛在匹配”單元其所在列中不存在“已匹配”的單元,將此“潛在匹配”單元作為增益路徑的終點(diǎn);

在匹配標(biāo)記矩陣m中,將增益路徑上所有的“已匹配”的單元標(biāo)記為“未匹配”的單元,將增益路徑上所有的“潛在匹配”的單元標(biāo)記為“已匹配”的單元;將匹配標(biāo)記矩陣中其余的“潛在匹配”的單元標(biāo)記為“未匹配”的單元,將行標(biāo)記數(shù)組與列標(biāo)記數(shù)組恢復(fù)初始值,將增益路徑數(shù)組清空,重新進(jìn)入步驟5.3中;

步驟5.6、找出拓展匹配度矩陣中所有對(duì)應(yīng)行標(biāo)記與列標(biāo)記均為0的單元,這些單元構(gòu)成了潛在匹配區(qū)域,找出潛在匹配區(qū)域中最小的值,并對(duì)區(qū)域中的每一單元減去該最小值,然后再次進(jìn)入步驟5.4中。

步驟6具體按照以下步驟實(shí)施:

步驟6.1、建立對(duì)象與角色多對(duì)一優(yōu)化匹配方案矩陣fm,fm的大小為m×n,fm[i][j](0≤i<m,0≤j<n)表示對(duì)象與角色多對(duì)一優(yōu)化匹配方案中i號(hào)對(duì)象在j號(hào)角色上的匹配情況,分別用數(shù)字0和1表示未匹配和已匹配;

步驟6.2、在經(jīng)步驟5獲得的對(duì)象與角色一對(duì)一優(yōu)化匹配方案中,將所有對(duì)應(yīng)對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題中同一角色的列,按列做加法運(yùn)算,將得出的結(jié)果逐次寫入fm中。

本發(fā)明的有益效果在于:

(1)本發(fā)明對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,其主要優(yōu)點(diǎn)是:能在確保匹配方案最優(yōu)性的同時(shí),具有較低的算法復(fù)雜度(為o(n3)),因此具有運(yùn)算速度快且優(yōu)化目標(biāo)靈活的特點(diǎn),對(duì)參與匹配的對(duì)象與角色的數(shù)量沒(méi)有限制。

(2)本發(fā)明對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,其解決問(wèn)題的主要思想是:首先采用分而治之的方式將對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題等價(jià)分解為對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題這一形式,再通過(guò)尋找潛在的匹配單元,建立增益路徑的方式逐步增加最優(yōu)匹配的對(duì)數(shù),直至獲得對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案;最后將獲得的最優(yōu)匹配方案進(jìn)行壓縮,得到對(duì)象與角色多對(duì)一優(yōu)化匹配的最優(yōu)匹配方案;該方法打破了傳統(tǒng)的枚舉法與貪婪法的思想,在保證匹配方案最優(yōu)性的同時(shí),極大的降低了算法復(fù)雜度,進(jìn)而極大的提高了可應(yīng)用問(wèn)題的規(guī)模限制,為解決此類np問(wèn)題提供了高效、準(zhǔn)確、靈活的解決方案,是一種優(yōu)化的匹配算法。

(3)本發(fā)明對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,為解決管理學(xué)中資源配置,人力資源管理領(lǐng)域中的相關(guān)問(wèn)題提供了準(zhǔn)確、高效的算法工具,具有重要的實(shí)用價(jià)值與廣泛的應(yīng)用空間。

具體實(shí)施方式

下面結(jié)合具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。

本發(fā)明對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,具體按照以下步驟實(shí)施:

步驟1、建立用以描述對(duì)象與角色多對(duì)一優(yōu)化問(wèn)題的數(shù)學(xué)模型,具體包括以下四個(gè)部分:

第一部分:用m表示參與匹配的對(duì)象的數(shù)量;

第二部分:用n表示參與匹配的角色的數(shù)量;

第三部分:角色需求數(shù)組,使用數(shù)組l表示各角色需求的對(duì)象的具體數(shù)量;l的大小為n,l[t](0≤t<n),表示t號(hào)角色要求的對(duì)象數(shù)量;

第四部分:匹配度矩陣;

使用矩陣c表示各參與匹配對(duì)象在各角色上的匹配度,c的大小為m×n,c[i][j](0≤i<m,0≤j<n)表示i號(hào)對(duì)象在j號(hào)角色上的匹配度。

步驟2,對(duì)經(jīng)步驟1建立的數(shù)學(xué)模型進(jìn)行預(yù)處理,具體按照以下步驟實(shí)施:

步驟2.1、經(jīng)步驟1后,進(jìn)行合法性檢查:

檢查是否有足夠數(shù)量的對(duì)象以滿足所有角色的需求,即檢查是否滿足如下條件:

若不滿足此條件,則說(shuō)明對(duì)象數(shù)量不足,無(wú)法滿足匹配要求,則退出優(yōu)化程序;

若滿足此條件,則進(jìn)入下一步驟,即進(jìn)入步驟2.2中;

步驟2.2、根據(jù)優(yōu)化目標(biāo)對(duì)匹配度矩陣c進(jìn)行預(yù)處理:

若實(shí)際問(wèn)題是求成本最小化類的問(wèn)題,則保持匹配度矩陣不變;

若是求回報(bào)最大化類的問(wèn)題,對(duì)匹配度矩陣中的每一單元,用匹配度取值上限max減去單元的實(shí)際匹配用度,用所得的結(jié)果替換單元中的值,即c[i][j]=max-c[i][j](0≤i<m,0≤j<n);這一步驟中通過(guò)將各單元的值進(jìn)行相對(duì)于匹配度上限的反轉(zhuǎn),從而將最大化問(wèn)題轉(zhuǎn)化成等價(jià)的最小化問(wèn)題,達(dá)到了統(tǒng)一優(yōu)化目標(biāo)的目的,便于后續(xù)優(yōu)化過(guò)程的處理。

步驟3、經(jīng)過(guò)步驟2后,將對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題轉(zhuǎn)化為等價(jià)的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題,具體按照以下步驟實(shí)施:

步驟3.1、建立拓展匹配度矩陣tc,用以表示對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題中各參與匹配對(duì)象在各角色上的匹配度,tc的大小為:

步驟3.2、經(jīng)步驟3.1后,建立拓展匹配度矩陣c中的每一列,逐次寫入拓展匹配度矩陣tc,每一列寫入的次數(shù)與該列所對(duì)應(yīng)的角色在角色需求數(shù)組l中要有的對(duì)象數(shù)量相等;

步驟3.2中要將對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題中的每一角色按其需求的角色數(shù)量進(jìn)行分解,例如:某角色需要x個(gè)對(duì)象,通過(guò)將該角色在匹配度矩陣c中對(duì)應(yīng)的列復(fù)制成x個(gè)相同的列,從而將該角色需要x個(gè)對(duì)象等價(jià)分解成x個(gè)需要1個(gè)對(duì)象的該角色,將所有角色分解后添加至拓展匹配度矩陣tc中,tc即構(gòu)成與對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題等價(jià)的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的匹配度矩陣。

步驟4、針對(duì)步驟3得到的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題,建立相應(yīng)的輔助標(biāo)記數(shù)據(jù),具體包括以下四部分:

第一部分:匹配標(biāo)記矩陣;

使用矩陣m表示對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中,各對(duì)象在各角色上的匹配狀態(tài),m的大小為:

該算法表示i號(hào)對(duì)象在j號(hào)角色上的匹配狀態(tài),匹配狀態(tài)分為:“未匹配”、“已匹配”和“潛在匹配”三種,分別用數(shù)字“0”、“1”、“2”表示;

“未匹配”是指在當(dāng)前狀態(tài)下該對(duì)象不能做為該角色的最優(yōu)匹配;

“已匹配”是指在當(dāng)前狀態(tài)下該對(duì)象已有限做為該角色的最優(yōu)匹配;

“潛在匹配”是指在當(dāng)前狀態(tài)下該對(duì)象能作為該角色的最優(yōu)匹配;

在建立時(shí)將m中所有單元設(shè)置為初始至0。

第二部分:行標(biāo)記數(shù)組,使用數(shù)組row表示對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中,各對(duì)象的狀態(tài),row的大小為m,row[i](0≤i<m)表示i號(hào)對(duì)象的狀態(tài);對(duì)象的狀態(tài)分為“沒(méi)有潛在匹配的角色”與“有潛在匹配的角色”兩種,分別用數(shù)字“0”、“1”表示;

“潛在匹配的角色”是指該對(duì)象作為某角色的“潛在匹配”單元,在建立時(shí)將row中所有單元設(shè)置為初始值0。

第三部分:列標(biāo)記數(shù)組;

使用數(shù)組col表示對(duì)象與角色一對(duì)一匹配優(yōu)化過(guò)程中,各角色的狀態(tài),col的大小表示i號(hào)角色的狀態(tài),角色的狀態(tài)分別為“沒(méi)有唯一匹配的對(duì)象”與“有唯一匹配的對(duì)象”兩種,分別用數(shù)字“0”、“1”表示;

“唯一匹配的對(duì)象”是指該角色已匹配某一對(duì)象且該對(duì)象不存在潛在匹配的另一角色;在建立時(shí)將col中所有單元設(shè)置為初始值為0。

第四部分,增益路徑數(shù)組;

使用二維數(shù)組path存儲(chǔ)對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中查找出的增益路徑上的各增益點(diǎn),在匹配標(biāo)記矩陣m中的位置坐標(biāo);path的大小為path[i][0]與path[i][1]分別表示i號(hào)增益點(diǎn)在匹配標(biāo)記矩陣m中的行坐標(biāo)與列坐標(biāo);在建立時(shí)將path置空。

步驟5,利用步驟4中建立的輔助標(biāo)記數(shù)據(jù),對(duì)步驟3得到的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題進(jìn)行優(yōu)化處理,獲取對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,具體按照以下步驟實(shí)施:

步驟5.1、對(duì)拓展匹配度矩陣tc中的每一列,找出該列中最小值,并對(duì)該列中的每一單元減去該最小值,進(jìn)入下一步驟,即步驟5.2;

步驟5.2、經(jīng)步驟5.1后,逐一檢查拓展匹配矩陣tc中的每一單元;

若某單元的值為0,且其所在行路徑數(shù)組清空,與列中沒(méi)有其他單元被標(biāo)記為“已匹配”,則將該單元標(biāo)記為“已匹配”,將匹配標(biāo)記矩陣m中對(duì)應(yīng)位置的單元值設(shè)置為1,進(jìn)入下一步驟,即進(jìn)入步驟5.3;

步驟5.3、經(jīng)步驟5.2后,逐列檢查匹配標(biāo)記矩陣m,若某列中存在標(biāo)記為“已匹配”的單元,則將該列標(biāo)記為“已唯一匹配對(duì)象”,將列標(biāo)記數(shù)組col中對(duì)應(yīng)單元的值設(shè)置為1;

若最終列標(biāo)記數(shù)組中所有單元的值均為1,則當(dāng)前匹配標(biāo)記矩陣中所有標(biāo)記為“已匹配”的單元構(gòu)成對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,則步驟5結(jié)束,否則進(jìn)入步驟5.4;

步驟5.4、逐一檢查拓展匹配度矩陣tc中的每一個(gè)單元;

若某單元的值為0,且該單元對(duì)應(yīng)的行標(biāo)記與列標(biāo)記值均為0,則將該單元標(biāo)記為“潛在匹配”單元,將匹配標(biāo)記矩陣m中對(duì)應(yīng)單元的值設(shè)置為2,同時(shí)將該單元所在行的標(biāo)記設(shè)置為1;進(jìn)而檢查該“潛在匹配”單元:若其所在行中不存在“已匹配”的單元,則該“潛在匹配”單元為增益路徑的起點(diǎn),將該單元的位置坐標(biāo)計(jì)入增益路徑數(shù)組path后,進(jìn)入步驟5.5,否則將該“潛在匹配”單元所在行中的“已匹配”的單元所在對(duì)應(yīng)列的列標(biāo)記i設(shè)置為0;

若在步驟5.4中未找到任何“潛在匹配”單元或增益路徑的起點(diǎn),進(jìn)入步驟5.6中;

步驟5.5,建立增益路徑,自步驟5.4中找到的作為增益路徑起點(diǎn)的“潛在匹配”單元開(kāi)始,在匹配標(biāo)記矩陣中檢查:

若該“潛在匹配”單元所在列中有在標(biāo)記為“已匹配”的單元開(kāi)始,在匹配標(biāo)記矩陣中檢查;

若該“潛在匹配”單元所在列中有在標(biāo)記為“已匹配”的單元,則將該“已匹配”的單元和該“已匹配”的單元所在行中的“潛在匹配”單元作為增益點(diǎn)添加到增益路徑數(shù)組中,并按照上述方式繼續(xù)檢查此新加入增益路徑的“潛在匹配”單元,直至找到某一“潛在匹配”單元其所在列中不存在“已匹配”的單元,將此“潛在匹配”單元作為增益路徑的終點(diǎn);

在匹配標(biāo)記矩陣m中,將增益路徑上所有的“已匹配”的單元標(biāo)記為“未匹配”的單元,將增益路徑上所有的“潛在匹配”的單元標(biāo)記為“已匹配”的單元;將匹配標(biāo)記矩陣中其余的“潛在匹配”的單元標(biāo)記為“未匹配”的單元,將行標(biāo)記數(shù)組與列標(biāo)記數(shù)組恢復(fù)初始值,將增益路徑數(shù)組清空,重新進(jìn)入步驟5.3中;

步驟5.6、找出拓展匹配度矩陣中所有對(duì)應(yīng)行標(biāo)記與列標(biāo)記均為0的單元,這些單元構(gòu)成了潛在匹配區(qū)域,找出潛在匹配區(qū)域中最小的值,并對(duì)區(qū)域中的每一單元減去該最小值,然后再次進(jìn)入步驟5.4中。

在步驟5中,先由步驟5.1計(jì)算出對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題中各角色的最近匹配位置,同時(shí)保持各對(duì)象在各角色上的匹配優(yōu)先順序不變,在通過(guò)步驟5.2將對(duì)象與角色進(jìn)行初步優(yōu)化匹配;之后由步驟5.3檢測(cè)是否所有對(duì)象均有匹配對(duì)象,若是則優(yōu)化匹配完成,否則交由后續(xù)步驟逐步增加匹配的對(duì)象與角色的對(duì)數(shù),直到滿足所有角色均有對(duì)象;步驟5.4的主要作用是查找并標(biāo)記潛在的匹配單元,并檢測(cè)“潛在匹配”單元是否是增益路徑的起點(diǎn),若未能找到任何“潛在匹配”的單元或增益路徑的起點(diǎn),則交由步驟5.6通過(guò)計(jì)算,在不改變匹配有限順序的前提下,在潛在匹配區(qū)域增加新的“潛在匹配”的單元,每次對(duì)步驟5.6的調(diào)用保證至少可能加1個(gè)“潛在匹配”的單元;若找到增益路徑的起點(diǎn),則由步驟5.5建立增益路徑,增加匹配的對(duì)象與角色的對(duì)數(shù),每次對(duì)步驟5.5的調(diào)用,可增加一對(duì)匹配的對(duì)象與角色,完成增益后,交由步驟5.3重新檢測(cè)是否已完成優(yōu)化匹配。

步驟6、對(duì)步驟5獲得的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案進(jìn)行壓縮,獲取對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,具體按照以下步驟實(shí)施:

步驟6.1、建立對(duì)象與角色多對(duì)一優(yōu)化匹配方案矩陣fm,fm的大小為m×n,fm[i][j](0≤i<m,0≤j<n)表示對(duì)象與角色多對(duì)一優(yōu)化匹配方案中i號(hào)對(duì)象在j號(hào)角色上的匹配情況,分別用數(shù)字0和1表示未匹配和已匹配;

步驟6.2、在經(jīng)步驟5獲得的對(duì)象與角色一對(duì)一優(yōu)化匹配方案中,將所有對(duì)應(yīng)對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題中同一角色的列,按列做加法運(yùn)算,將得出的結(jié)果逐次寫入fm中。

由于步驟3將隊(duì)友與角色多對(duì)一優(yōu)化匹配問(wèn)題以等價(jià)分解的方式轉(zhuǎn)化成了對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題,因?yàn)椴襟E6實(shí)際是對(duì)對(duì)象與角色一對(duì)一優(yōu)化匹配的最優(yōu)匹配方案執(zhí)行步驟3的逆運(yùn)算,從而得到對(duì)象與角色多對(duì)一優(yōu)化匹配的最優(yōu)匹配方案。

實(shí)施例:

設(shè)定某it公司有一個(gè)項(xiàng)目需要完成,該項(xiàng)目對(duì)人員的要求如下:

需程序員3人,美工1人,測(cè)試員2人;

該公司現(xiàn)有6人可供選用,經(jīng)人力資源部門評(píng)估,這6人在上述三項(xiàng)工作上的能力評(píng)估結(jié)果如表1所示,(滿分為100分);

表1三項(xiàng)工作上的能力評(píng)估結(jié)果

現(xiàn)要求在不兼職的情況下,做出滿足各工作需求且評(píng)估結(jié)果最好的匹配方案,具體實(shí)施方法如下:

步驟1,建立用以描述對(duì)象與角色多對(duì)一優(yōu)化問(wèn)題的數(shù)學(xué)模型,該數(shù)學(xué)模型具體包括以下四個(gè)部分:

第一部分:在此實(shí)施例中有1名人員參與匹配,m=6;

第二部分:在此實(shí)施范例中有3項(xiàng)工作需要人員參與,n=3;

第三部分:在此實(shí)施例中,l的大小為3;

l={3,1,2}表示需程序員3人,美工1人,測(cè)試員2人;

第四部分:在此實(shí)施例中,由人員評(píng)估結(jié)果組成大小為6×3的匹配度矩陣,由表1可得:

步驟2,對(duì)步驟1建立的數(shù)學(xué)模型進(jìn)行預(yù)處理,具體按照以下步驟實(shí)施:

步驟2.1、檢查是否有足夠數(shù)量的對(duì)象以滿足所有角色的需求,即檢查是否滿足條件:

若不滿足此條件,則說(shuō)明對(duì)象數(shù)量不足,無(wú)法滿足匹配要求,退出優(yōu)化程序;若滿足此條件,進(jìn)入步驟2.2;

步驟2.2、根據(jù)優(yōu)化目標(biāo)對(duì)匹配度矩陣c進(jìn)行預(yù)處理:

在此實(shí)施例中,優(yōu)化目標(biāo)是求總評(píng)估結(jié)果最好的方案,評(píng)估分?jǐn)?shù)的上限是100,經(jīng)步驟2.2后,匹配度矩陣具體如下:

步驟3、經(jīng)步驟2,將對(duì)象與角色多對(duì)優(yōu)化匹配問(wèn)題轉(zhuǎn)化為等價(jià)的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題,具體按照以下步驟實(shí)施;

步驟3.1,建立拓展匹配度矩陣tc,tc的大小為在此實(shí)施例中建立大小為6×6的拓展匹配度矩陣;

步驟3.2,將匹配度矩陣c中的每一列,逐次寫入拓展匹配度矩陣tc,每一列寫入的次數(shù)與該列所對(duì)應(yīng)角色在角色需求數(shù)組l中要去的對(duì)象數(shù)量相等,在此實(shí)施例中,有匹配度矩陣與角色需求數(shù)組得到的拓展匹配度矩陣具體如下:

步驟4,針對(duì)步驟3得到的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題,建立相應(yīng)的輔助標(biāo)記數(shù)據(jù),具體包括如下四個(gè)部分:

第一部分:匹配標(biāo)記矩陣使用矩陣m表示對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中,各對(duì)象在各角色上的匹配狀態(tài);m的大小為表示i號(hào)對(duì)象在j號(hào)角色的匹配狀態(tài),匹配狀態(tài)分為“未匹配”、“已匹配”和“潛在匹配”三種,分別用數(shù)字“0”、“1”和“2”表示;在建立時(shí)將m中所有單元設(shè)置為初始值0,在此實(shí)施例中建立大小為6×6的匹配標(biāo)記矩陣,并初始化為如下形式:

第二部分:使用數(shù)組row表示對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中,各對(duì)象的狀態(tài),row的大小為m,row[i](0≤i<m)表示i號(hào)對(duì)象的狀態(tài),對(duì)象的狀態(tài)分為“沒(méi)有潛在匹配的角色”與“有潛在角色”,分別用數(shù)字“0”與“1”表示;在建立時(shí)將row中所有單元設(shè)置為初始值0,在此實(shí)施例中,建立大小為6的行標(biāo)記數(shù)組,并初始化為如下形式:

row={0,0,0,0,0,0};

第三部分:使用數(shù)組col表示對(duì)象與角色一對(duì)一優(yōu)化過(guò)程中,各角色的狀態(tài),col的大小表示i號(hào)角色的狀態(tài),角色的狀態(tài)分別為“沒(méi)有唯一匹配的對(duì)象”與“有唯一匹配的對(duì)象”兩種,分別用數(shù)字“0”、“1”表示;

在建立時(shí)將col中所有單元設(shè)置為初始值0;

在此實(shí)施例中,建立大小為6的列標(biāo)記數(shù)組,并初始化為如下形式:

col={0,0,0,0,0,0};

第四部分:使用二維數(shù)組path存儲(chǔ)對(duì)象與角色一對(duì)一優(yōu)化匹配過(guò)程中查找出的增益路徑上的各增益點(diǎn),在匹配標(biāo)記矩陣m中的位置坐標(biāo);path的大小為path[i][0]與path[i][1]分別表示i號(hào)增益點(diǎn)在匹配標(biāo)記矩陣m中的行坐標(biāo)與列坐標(biāo);在建立時(shí)將path置空;

在此實(shí)施例中,建立大小為12×2的增益路徑數(shù)組,并初始化為空數(shù)組;

步驟5,利用步驟4中建立的輔助標(biāo)記數(shù)據(jù),對(duì)步驟3得到的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題進(jìn)行優(yōu)化處理,獲取對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,具體按照以下步驟實(shí)施:

步驟5.1、對(duì)拓展匹配度矩陣tc中的每一列,找出該列中最小值,并對(duì)該列中的每一單元減去該最小值,進(jìn)入步驟5.2;

步驟5.2,逐一檢查拓展匹配矩陣tc中的每一單元,若某單元的值為0,且其所在行與列中沒(méi)有其他單元被標(biāo)記為“已匹配”,則將該單元標(biāo)記為“已匹配”,將匹配標(biāo)記矩陣m中對(duì)應(yīng)位置的單元的值設(shè)置為1,進(jìn)入步驟5.3;

步驟5.3,逐列檢查匹配表姐矩陣m,若某列中標(biāo)記為“已匹配”的單元,則將該列標(biāo)記為“有唯一匹配的對(duì)象”,將列標(biāo)記數(shù)組col中對(duì)應(yīng)單元的值設(shè)置為1,若最終列標(biāo)記數(shù)組中所有單元的值為1,則當(dāng)前匹配標(biāo)記矩陣m中所有標(biāo)記為“已匹配”的單元構(gòu)成對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,步驟5結(jié)束,否則進(jìn)入步驟5.4;

步驟5.4,逐一檢查拓展匹配度矩陣tc中的每一單元,若某單元的值為0,且該單元對(duì)應(yīng)的行標(biāo)記與列標(biāo)記的值均為0,則將該單元標(biāo)記為“潛在匹配”單元,將匹配標(biāo)記矩陣m中對(duì)應(yīng)單元的值設(shè)置為2,同時(shí)將該單元所在行的行標(biāo)記設(shè)置為1,進(jìn)而檢查該“潛在匹配”,若其所在行中不存在“已匹配”的單元,則該“潛在匹配”為增益路徑的起點(diǎn),將該單元的位置坐標(biāo)記入增益路徑數(shù)組path后,進(jìn)入步驟5.5否則將該“潛在匹配”單元所在行中的“已匹配”單元所對(duì)應(yīng)列的列標(biāo)記設(shè)置為0,若在此步驟中未找到任何“潛在匹配”單元或增益路徑的起點(diǎn),則進(jìn)入步驟5.6;

步驟5.5,建立增益路徑,自步驟5.4中找到的作為增益路徑起點(diǎn)的“潛在匹配”單元開(kāi)始,在匹配標(biāo)記矩陣中檢查:若該“潛在匹配”單元所在列中存在標(biāo)記為“已匹配”的單元,則將該“已匹配”的單元和該“已匹配”單元所在行中的“潛在匹配”單元作為增益點(diǎn)添加到增益路徑數(shù)組中,并按照上述方式繼續(xù)檢查此新加入增益路徑的“潛在匹配”單元,直至找到某一“潛在匹配”單元其所在列中不存在“已匹配”的單元,將此“潛在匹配”單元作為增益路徑的終點(diǎn);在匹配標(biāo)記矩陣m中,將增益路徑上所有的“已匹配”的單元標(biāo)記為“未匹配”的單元,將增益路徑上所有的“潛在匹配”的單元標(biāo)記為“已匹配”的單元;將匹配標(biāo)記矩陣中其余的“潛在匹配”的單元標(biāo)記為“未匹配”的單元,將行標(biāo)記數(shù)組與列標(biāo)記數(shù)組恢復(fù)初始值,將增益路徑數(shù)組清空,重新進(jìn)入步驟5.3中;

步驟5.6、找出拓展匹配度矩陣中所有對(duì)應(yīng)行標(biāo)記與列標(biāo)記均為0的單元,這些單元構(gòu)成了潛在匹配區(qū)域,找出潛在匹配區(qū)域中最小的值,并對(duì)區(qū)域中的每一單元減去該最小值,然后再次進(jìn)入步驟5.4中;

在此實(shí)例中,步驟5首先調(diào)用步驟5.1,得到的拓展匹配度矩陣如下:

再調(diào)用步驟5.2進(jìn)行初步匹配,得到的匹配度標(biāo)記矩陣如下:

調(diào)用步驟5.3對(duì)匹配標(biāo)記矩陣進(jìn)行檢查,得到列標(biāo)記數(shù)組為如下形式:

col={1,0,0,1,1,0};

由于col中存在0值,即存在角色尚未匹配對(duì)象,所以進(jìn)入步驟5.4;

調(diào)用步驟5.4,對(duì)潛在匹配單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

行標(biāo)記數(shù)組為:row={0,1,0,0,1,0},列標(biāo)記數(shù)組為:col={0,0,0,1,0,0}

因?yàn)槲凑业皆鲆媛窂狡瘘c(diǎn),所以進(jìn)入步驟5.6;

調(diào)用步驟5.6,找到潛在匹配區(qū)域中的最小值16,對(duì)潛在匹配區(qū)域各單元減去16后,得到的拓展匹配度矩陣如下:

調(diào)用步驟5.4,標(biāo)記新增的“潛在匹配”單元,得到匹配標(biāo)記矩陣如下:

行標(biāo)記數(shù)組為:row={0,1,1,0,1,0},列標(biāo)記數(shù)組為:col={0,0,0,1,0,0}

因未找到增益路徑起點(diǎn),進(jìn)入步驟5.6;

調(diào)用步驟5.6,找到潛在匹配區(qū)域中的最小值10,對(duì)潛在匹配區(qū)域各單元減去10后,得到的拓展匹配度矩陣如下:

調(diào)用步驟5.4,標(biāo)記新增的“潛在匹配”單元,得到匹配標(biāo)記矩陣如下:

在標(biāo)記過(guò)程中,檢測(cè)到“潛在匹配”單元m[0][0]為增益路徑起點(diǎn),進(jìn)入步驟5.5;

調(diào)用步驟5.5,建立增益路徑,得到增益路徑為:

m[0][0]→m[4][0]→m[4][1]

經(jīng)增益操作后,得到匹配標(biāo)記矩陣如下:

將行標(biāo)記數(shù)組與列標(biāo)記數(shù)組回復(fù)初始值,將增益路徑數(shù)組清空后,進(jìn)入步驟5.3,調(diào)用步驟5.3對(duì)匹配標(biāo)記矩陣進(jìn)行檢查,得到列標(biāo)記數(shù)組為:

col={1,1,0,1,1,0};

由于col中存在0值單元,即存在角色尚未匹配對(duì)象,則進(jìn)入步驟5.4;

調(diào)用步驟5.4,對(duì)“潛在匹配”單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

行標(biāo)記數(shù)組為:row={1,1,1,0,1,0},列標(biāo)記數(shù)組為:col={0,0,0,0,0,0};

因未找到增益路徑起點(diǎn),所以進(jìn)入步驟5.6;

調(diào)用步驟5.6,找到潛在匹配區(qū)域中的最小值13,對(duì)潛在匹配區(qū)域各單元減去13后,得到的拓展匹配度矩陣如下:

調(diào)用步驟5.4,對(duì)新增的“潛在匹配”單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

在標(biāo)記過(guò)程中,檢測(cè)到“潛在匹配”單元m[5][0]為增益路徑起點(diǎn),進(jìn)入步驟5.5;調(diào)用步驟5.5,建立增益路徑,得到增益路徑為:

m[5][0]→m[0][0]→m[0][1]→m[4][1]→m[4][2]

經(jīng)增益操作后,得到匹配標(biāo)記矩陣如下:

將行標(biāo)記數(shù)組與列標(biāo)記數(shù)組恢復(fù)初始值,將增益路徑數(shù)組清空后,進(jìn)入步驟5.3,調(diào)用步驟5.3對(duì)匹配標(biāo)記矩陣進(jìn)行檢查,得到列標(biāo)記數(shù)組為:

col={1,1,1,1,1,0};

由于col中存在0值單元,即存在角色尚未匹配對(duì)象,所以進(jìn)入步驟5.4;調(diào)用步驟5.4,對(duì)“潛在匹配”單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

行標(biāo)記數(shù)組為:row={0,1,1,0,0,0},列標(biāo)記數(shù)組為:col={1,1,1,0,0,0};

因未找到增益路徑起點(diǎn),所以進(jìn)入步驟5.6;

調(diào)用步驟5.6,找到潛在匹配區(qū)域中的最小值11,對(duì)潛在匹配區(qū)域各單元減去11后,得到的拓展匹配度矩陣如下:

調(diào)用步驟5.4,對(duì)新增的“潛在匹配”單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

行標(biāo)記數(shù)組為:row={0,1,1,0,1,1},列標(biāo)記數(shù)組為:col={0,1,0,0,0,0},因未找到增益路徑的起點(diǎn),進(jìn)入步驟5.6;

調(diào)用步驟5.6,找到潛在匹配區(qū)域最小值為0,因此保持拓展匹配度矩陣不變;

調(diào)用步驟5.4,對(duì)新增的“潛在匹配”單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

行標(biāo)記數(shù)組為row={1,1,1,0,1,1},列標(biāo)記數(shù)組為col={0,0,0,0,0,0},因未找到增益路徑的起點(diǎn),進(jìn)入步驟5.6;

調(diào)用步驟5.6,找到潛在匹配區(qū)域最小值為15,對(duì)潛在匹配區(qū)域各單元減去15后,得到拓展匹配度矩陣如下:

調(diào)用步驟5.4對(duì)新增的“潛在匹配”單元進(jìn)行標(biāo)記,得到匹配標(biāo)記矩陣如下:

在標(biāo)記過(guò)程中檢測(cè)到“潛在匹配”單元m[3][3]為增益路徑起點(diǎn),進(jìn)入步驟5.5;

調(diào)用步驟為5.5,建立增益路徑,得到增益路徑為:

m[3][3]→m[2][3]→m[2][4]→m[1][4]→m[1][5]

經(jīng)增益操作后,得匹配標(biāo)記矩陣如下:

將行標(biāo)記數(shù)組與列標(biāo)記數(shù)組恢復(fù)初始值,將增益路徑數(shù)組清空后,進(jìn)入步驟5.3;

調(diào)用步驟5.3對(duì)匹配標(biāo)記矩陣進(jìn)行檢查,得到列標(biāo)記數(shù)組如下:

col={1,1,1,1,1,1};

由于col所有值均為1,當(dāng)前的匹配標(biāo)記矩陣為對(duì)象與角色一對(duì)一優(yōu)化匹配的最優(yōu)匹配方案,步驟5結(jié)束;

步驟6,對(duì)步驟5獲得的對(duì)象與角色一對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案進(jìn)行壓縮,獲取對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題的最優(yōu)匹配方案,具體按照以下步驟實(shí)施:

步驟6.1、建立對(duì)象與角色多對(duì)一優(yōu)化匹配方案矩陣fm,fm的大小為m×n,m[i][j](0≤i<m,0≤j<n)表示對(duì)象與角色多對(duì)一優(yōu)化匹配方案中,i號(hào)對(duì)象在j號(hào)角色上的匹配情況,分別用數(shù)字0,1表示未匹配和已匹配,在此實(shí)施例中,應(yīng)建立大小為6×3的對(duì)象與角色多對(duì)一優(yōu)化匹配方案矩陣;

步驟6.2、將步驟5獲得的對(duì)象與角色一對(duì)一優(yōu)化匹配方案中,所有對(duì)應(yīng)對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題中同一角色的列,按列做加法運(yùn)算,將得出的結(jié)果逐次寫入fm中,在此實(shí)施例中,將步驟5得到的對(duì)象與角色一對(duì)一優(yōu)化匹配方案進(jìn)行壓縮,得到的對(duì)象與角色多對(duì)一優(yōu)化匹配方案矩陣如下:

按此最優(yōu)方案,0號(hào)、4號(hào)和5號(hào)員工擔(dān)任程序員,3號(hào)員工擔(dān)任美工,1號(hào)和2號(hào)員工擔(dān)任測(cè)試員,該方案的總評(píng)估成績(jī)?yōu)?15,是在不兼職情況下的最優(yōu)匹配方案,符合問(wèn)題要求。

本發(fā)明對(duì)象與角色多對(duì)一優(yōu)化匹配的方法,實(shí)現(xiàn)了在確保匹配方案最優(yōu)性的同時(shí),具有算法復(fù)雜度低,優(yōu)化目標(biāo)靈活的特點(diǎn),提高了可處理問(wèn)題的規(guī)模限制,為解決實(shí)際問(wèn)題應(yīng)用中各類對(duì)象與角色多對(duì)一優(yōu)化匹配問(wèn)題提供了高效,準(zhǔn)確,靈活的解決方案。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
辽源市| 桂平市| 石棉县| 普安县| 色达县| 蛟河市| 阳泉市| 洱源县| 康马县| 奉新县| 孝感市| 霍城县| 陆良县| 鄂尔多斯市| 彩票| 休宁县| 容城县| 隆尧县| 郁南县| 亚东县| 尖扎县| 木里| 同德县| 保定市| 交口县| 资中县| 得荣县| 怀安县| 宜宾县| 岳阳市| 龙陵县| 房山区| 潮州市| 连州市| 阿克陶县| 壶关县| 增城市| 开封县| 威远县| 宜兴市| 云南省|