这是我的场景,找到最佳可用时间的算法
我运行了一个提供各种类型按摩的按摩场所。说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