這是我的場景,找到最佳可用時間的算法
我運行了一個提供各種類型按摩的按摩場所。說30分鐘按摩,45分鐘按摩,1小時按摩等。我有50個房間,100名員工和30件設備。當客戶預約按摩預約時,預約需要1個房間,1個員工和1件設備能得到的。
什麼是好的算法找到10個客人可用資源對於一個給定的一天
資源:
房 - 50
員工 - 100
設備 - 30
營業時間:9am - 6PM
職員時間:上午9 AM- 6PM
否的客人:10
服務
5客人,(1小時按摩)
3個客人 - (45分鐘按摩)
2位客人 - (1小時按摩)。
他們都在同一時間。假設有在這一天
沒有其他約會是什麼讓::
十大結果的最佳方式 - 這符合所有條件獲得前10名的結果集最快的搜索。前十名由最早的可用時間來定義。 9 - 11AM是最好的結果集。 9點到5點不太好。
窮舉搜索(查找所有組合) - 所有集合 - 每一個可能的組合
首先獲得滿足(只返回第一個匹配) - 停止的條件之一已經滿足之後
我將不勝感激您的幫助。
感謝 尼克
沒有解決方案,只是一個額外的想法:將每種治療的收益加入到算法中,因爲這是您的真正目標... 3次短期按摩可能在經濟上不如2次長效(或者相反... )。然後,這將是一個揹包問題。 – 2011-05-03 04:38:07
可能是http://stackoverflow.com/questions/3784908/effective-timetabling-algorithm的重複。 – Patrick 2011-05-03 06:51:06