optaplanner 官网例子

3.3. Real Examples

3.3.1. Course Timetabling (ITC 2007 Track 3 - Curriculum Course Scheduling)

3.3.1.1. Problem Description

Schedule each lecture into a timeslot and into a room.

Hard constraints:

  • Teacher conflict: A teacher must not have 2 lectures in the same period.

  • Curriculum conflict: A curriculum must not have 2 lectures in the same period.

  • Room occupancy: 2 lectures must not be in the same room in the same period.

  • Unavailable period (specified per dataset): A specific lecture must not be assigned to a specific period.

Soft constraints:

  • Room capacity: A room's capacity should not be less than the number of students in its lecture.

  • Minimum working days: Lectures of the same course should be spread out into a minimum number of days.

  • Curriculum compactness: Lectures belonging to the same curriculum should be adjacent to each other (so in consecutive periods).

  • Room stability: Lectures of the same course should be assigned the same room.

The problem is defined by the International Timetabling Competition 2007 track 3.

3.3.1.2. Problem Size
comp01 has 24 teachers,  14 curricula,  30 courses, 160 lectures, 30 periods,  6 rooms and   53 unavailable period constraints with a search space of  10^360.
comp02 has 71 teachers,  70 curricula,  82 courses, 283 lectures, 25 periods, 16 rooms and  513 unavailable period constraints with a search space of  10^736.
comp03 has 61 teachers,  68 curricula,  72 courses, 251 lectures, 25 periods, 16 rooms and  382 unavailable period constraints with a search space of  10^653.
comp04 has 70 teachers,  57 curricula,  79 courses, 286 lectures, 25 periods, 18 rooms and  396 unavailable period constraints with a search space of  10^758.
comp05 has 47 teachers, 139 curricula,  54 courses, 152 lectures, 36 periods,  9 rooms and  771 unavailable period constraints with a search space of  10^381.
comp06 has 87 teachers,  70 curricula, 108 courses, 361 lectures, 25 periods, 18 rooms and  632 unavailable period constraints with a search space of  10^957.
comp07 has 99 teachers,  77 curricula, 131 courses, 434 lectures, 25 periods, 20 rooms and  667 unavailable period constraints with a search space of 10^1171.
comp08 has 76 teachers,  61 curricula,  86 courses, 324 lectures, 25 periods, 18 rooms and  478 unavailable period constraints with a search space of  10^859.
comp09 has 68 teachers,  75 curricula,  76 courses, 279 lectures, 25 periods, 18 rooms and  405 unavailable period constraints with a search space of  10^740.
comp10 has 88 teachers,  67 curricula, 115 courses, 370 lectures, 25 periods, 18 rooms and  694 unavailable period constraints with a search space of  10^981.
comp11 has 24 teachers,  13 curricula,  30 courses, 162 lectures, 45 periods,  5 rooms and   94 unavailable period constraints with a search space of  10^381.
comp12 has 74 teachers, 150 curricula,  88 courses, 218 lectures, 36 periods, 11 rooms and 1368 unavailable period constraints with a search space of  10^566.
comp13 has 77 teachers,  66 curricula,  82 courses, 308 lectures, 25 periods, 19 rooms and  468 unavailable period constraints with a search space of  10^824.
comp14 has 68 teachers,  60 curricula,  85 courses, 275 lectures, 25 periods, 17 rooms and  486 unavailable period constraints with a search space of  10^722.
3.3.1.3. Domain Model




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OptaPlanner是一个开源的约束优化引擎,可以在求解约束优化问题时提供支持。它使用Java编写,并且具有强大的能力来解决各种问题,如旅行商问题、调度问题、排产问题等。OptaPlanner的目标是通过确定可能的解决方案,找到最佳解决方案。 OptaPlanner采用了基于元启发式算法的解决方法,如模拟退火、遗传算法、局部搜索等。它还提供了丰富的插件和扩展点,使开发人员能够自定义算法和评分规则,并将其集成到自己的应用程序中。 OptaPlanner使用约束规划模型来描述问题,并通过改善解决方案来满足约束条件。它的求解过程可以分为初始化、迭代和终止三个阶段。在初始化阶段,OptaPlanner生成一组初始解决方案,通常使用随机算法。在迭代阶段,它不断优化当前解决方案,直到达到最优解或超过预定的迭代次数。在终止阶段,OptaPlanner返回最佳解决方案。 OptaPlanner可以应用于各种领域,如物流、交通、资源调度等。它具有很好的扩展性和灵活性,可以根据具体问题的特点进行定制和调整。它还提供了丰富的文档和示例程序,使开发人员能够快速上手并解决实际问题。 总之,OptaPlanner是一个强大的约束优化引擎,可以帮助解决各种约束优化问题。它的功能丰富而灵活,易于使用和定制。无论是学术研究还是实际应用,OptaPlanner都是一个值得考虑的优秀选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值