# Local Search Scheduling with Simulated Annealing
This Repository contains my Java implementation of a Simulated Annealing Local Search Scheduling Algorithm. The algorithm is given a set of tasks which need to be scheduled on some set of machines. Each tasks has a time window in which it can be scheduled. The algorithm then schedules as many high priority randomly generated tasks as possible. See the solution history plots to get an idea of how the simulatred annealing algorithm improves scores over time.
The algorithm works by representing a schedule by a permutation of all the tasks. This permutation is then used to create a schdule by inserting the tasks into the machine slots in the order specified by the task permutation. Any tasks which do not fit are left out. Then at each iteration, the algorithm generates a neighbor schedule by permuting the current schedule's task permutation. If this neighbor has a better score, we select that neighbor as best and move to the next generation. If the neighbor has a worse score, we still accept with some probability which reduces over time.
The algorithm can perform 100,000 iterations with 1000 tasks, 3 machines, and 50 time units in under 1 minute.
没有合适的资源?快使用搜索试试~ 我知道了~
带模拟退火 的局部搜索调度_java_代码_下载
共26个文件
svg:12个
java:7个
txt:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 111 浏览量
2022-06-21
13:18:24
上传
评论
收藏 6.97MB ZIP 举报
温馨提示
带模拟退火的局部搜索调度 这个存储库包含我的模拟退火本地搜索调度算法的 Java 实现。该算法给出了一组任务,这些任务需要在一组机器上进行调度。每个任务都有一个可以安排的时间窗口。然后该算法调度尽可能多的高优先级随机生成的任务。查看解历史图,了解模拟退火算法如何随着时间的推移提高分数。 该算法通过所有任务的排列来表示一个时间表。然后,通过按照任务排列指定的顺序将任务插入机器槽,使用此排列来创建调度。任何不适合的任务都被排除在外。然后在每次迭代中,算法通过排列当前调度的任务排列来生成一个邻居调度。如果这个邻居有更好的分数,我们选择那个最好的邻居并移动到下一代。如果邻居的分数更差,我们仍然会以一定的概率接受,这个概率会随着时间的推移而降低。 该算法可以在 1 分钟内使用 1000 个任务、3 台机器和 50 个时间单位执行 100,000 次迭代。
资源推荐
资源详情
资源评论
收起资源包目录
SimulatedAnnealingScheduler-master.zip (26个子文件)
SimulatedAnnealingScheduler-
figs
9-23-2015@11:32:36-Schedule.svg 38KB
9-23-2015@11:30:12-Schedule.svg 38KB
9-23-2015@11:30:12-ScoreHistory.svg 3.6MB
9-23-2015@11:33:11-Availability.svg 6.77MB
9-23-2015@11:32:36-Availability.svg 6.77MB
9-23-2015@11:30:00-Availability.svg 6.77MB
9-23-2015@11:30:00-ScoreHistory.png 37KB
9-23-2015@11:30:00-ScoreHistory.svg 374KB
9-23-2015@11:33:11-Schedule.svg 38KB
9-23-2015@11:30:00-Schedule.svg 38KB
9-23-2015@11:33:11-ScoreHistory.svg 35.65MB
9-23-2015@11:32:36-ScoreHistory.svg 3.56MB
9-23-2015@11:30:12-Availability.svg 6.77MB
scenario1_params.txt 9B
scenario1_tasks.txt 15KB
src
Task.java 744B
TaskList.java 3KB
Permutation.java 3KB
Driver.java 6KB
Schedule.java 2KB
Params.java 301B
Machine.java 2KB
.project 372B
.classpath 277B
.gitignore 343B
README.md 1KB
共 26 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- vue自定义指令( 复制、拖动、权限)
- json格式文件备份redis数据库 工具
- Multi-Agent-Flocking.zip
- 指标公式未来函数检测工具V1.2
- projectData
- SQL Server 性能监视器,它旨在提供开箱即用的全面监控,并作为您自己的项目或应用程序的监控框架 它在本地数据库中收集性能
- Python 程序语言设计模式思路-并发模式:线程池模式:管理线程池,优化线程创建和销毁
- 股事汇投资工具-实时新闻、财经日历、市场快讯、持仓查询、外汇兑换、换算工具、大盘云图、江恩工具、指标检测等
- webrtc-streamer
- html+css+'青春献礼二十大 红色旅游助乡村'为主题的网页设计 2022年参与学校网页设计比赛时完成的
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功