謝致遠 合肥工業大學機械工程學院
目前市場上的婚介機構運作模式大都是單身男女交納一定數量的費用成為會員,然后由機構的專業人員將注冊會員的信息進行逐項比對,將匹配度較高的單身男女進行配對后,通知雙方相親。但由于注冊會員的人數往往數量龐大,僅靠人工進行配對,不僅會存在很多的人為局限性,錯過許多良緣,而且工作效率低下。如果通過建立某種算法或程序,設定一定的規則,自動匹配出滿意度最高的組合,提高工作效率。
由于客戶信息不完全,不同客戶信息不統一,不利于匹配,對于整個數據缺失,可分為自身條件的缺失:(1)收入空白,由于收入很大程度上與性別、學歷、年齡、性別、單位類型等多方面相關。所以根據熱卡填充法,在數據庫中找到一個與他最為相似的對象,然后用這個相似對象的值進行填充。當存在多個相似值得時候,取其均值。(2)對于自身的住房情況沒有填寫的,將其補充為其它。因為如果一個人有多套住房,這是相親的資本,肯定會填寫的。
對對象的條件的缺失:(1)對于未來伴侶的住房情況沒有說明的,說明相親人對這方面沒有要求,將這里補充為不限。(2)同樣對未來伴侶的婚姻狀況沒有說明的,也將其補充為不限。文化程度處也補充為不限。(3)對未來伴侶的居住地也沒有填寫的,也添加為不限。(4)對未來伴侶收入沒有填寫也添加為不限。(5)對于身高,由于身高的選擇主要是與自身的身高相匹配。男女的身高的選擇會有較大的差異,所以首先將男女分開。如圖可以看到各個身高的人所期望未來伴侶的身高高度。同時也可以看出身高相近的的所期望的身高與和他本身身高相近的人相似。所以這里,對于每個人的身高,根據數據庫中的數據,統計與自身身高在5cm范圍內的人的所期望伴侶的身高。得到一系列的可能的值[1]。同時得到每個可能的身高的概率P。然后根據每個可能值得概率P選擇概率最大的值,得到此人伴侶的最高身高和最低身高。
對于地區因素,其中大部分都是福州人,有些地方的人雖然不只一個,為了簡化,將小于10個人的地區看作是不同的地方。令地區因素為S。當S=0表明這個會員個人是配對人的地域要求,當S=1時表明不符合地域要求。同理令婚姻狀況為M。符合為0,不符合為1。
對于身高、年齡因素。根據相親對象的范圍來確定。令年齡因素為Y,身高因素為H。滿足條件則為0,不滿足為1.
對于文化程度、住房條件、收入。對于收入當然是越高越好。當收入高于對象要求的金額以后就算作符合要求。文化程度和住房條件也是如此。令文化程度因素為C,住房條件因素為Z,收入因素為K。同樣滿足為0,不滿足為1。
令A為總不滿意度其中帶下標1的是男對女的不滿意度下標2,是女對男的不滿意度

根據上式求得每個人的相對于異性的不滿意度矩陣D。要讓整體的滿意度最大,就需要讓不滿意度最小。這里根據上面求得的不滿意矩陣,結合匈牙利算法[2,3]進行求解。由于男女的人數不想等,所以在矩陣中填充足夠大的數將其填充為方陣,然后再進行求解。

序號 男士 女士1 周先生 ID 14319 陳女士 ID 13654 2 張先生 ID 11411 陶女士 ID 13994 3 余先生 ID 13531 吳小姐 ID 13863 4 林先生 ID 13117 王女士 ID 14143 5 沈先生 ID 13473 江小姐 ID 13359 6 王先生 ID 13677 池女士 ID 12773 7 黃先生 ID 13560 陳小姐 ID 13370 8 占先生 ID 13498 楊小姐 ID 11241 9 溫先生 ID 13223 劉小姐 ID 11688 10 蘇先生 ID 13559 沈小姐 ID 10797 11 邱先生 ID 13500 林女士 ID 11322 12 衛先生 ID 13312 陳小姐 ID 13102 13 衛先生 ID 13312 黃女士 ID 13619 14 張先生 ID 12564 陳女士 ID 13192 15 宋先生 ID 13509 林小姐 ID 12786 16 林先生 ID 13388 鄭女士 ID 10495 17 林先生 ID 13565 王小姐 ID 13837 18 楊先生 ID 13557 邱小姐 ID 11611 19 李先生 ID 11575 林小姐 ID 12672 20 曾先生 ID 11699 翁小姐 ID 14303
[1]SHHS.匈牙利 算法&模板.http://www.cnblogs.com/shadowland/p/5873686.html
[2]u011837761.Hungarian Algorithm(匈牙利算法).http://m.blog.csdn.net/u011837761/article/details/52058703