题目分析
本题是一个优化问题,这类赛题在近期的许多比赛中都有出现,服务器和虚拟机的匹配类似于一个二分图匹配,需要在不超过服务器负载的情况下使得用户成功创建不同规格的虚拟机。
约束条件
- 服务器(硬件成本+每日能耗)
NUMA架构,有A,B两节点CPU 核数,内存大小,硬件成本,每日能耗成本均为正整数。每台服务器的 CPU 核数以及内存大小不超过 1024,硬件成本不超过 5×105,每日能耗成本不超过 5000。服务器型号长度不超过 20,仅由数字和大小写英文字符构成。
- 虚拟机(单点部署+双节点部署(CPU和内存必为偶数))
对于每种类型的虚拟机,数据集保证至少存在一种服务器可以容纳。虚拟机型号长度不超过 20,仅由数字,大小写英文字符和’.'构成。
- 容量约束:
服务器可用来容纳用户的虚拟机,但是服务器上的任意一个节点(A和 B)上的资源负载(CPU和内存)均不能超过其容量上限。
- 请求序列:每天会有新的虚拟机被创建和删除。
输入
2 // N:服务器的台数 (NV603, 92, 324, 53800, 500) //(类型,cpu核数,内存大小,硬件成本,每日能耗) (NV604, 128, 512, 87800, 800) 2//M:虚拟机的台数 (c3.large.4, 2, 8, 0) //(类型,cpu核数,内存大小,0:单节点部署,1:双节点部署) (c3.8xlarge.2, 32, 64, 1) 3//T:用户请求序列的天数, //第一天 2//操作的请求数 (add, c3.large.4, 5) //(add:创建、del:删除,虚拟机型号,服务器ID) (add, c3.large.4, 0) //第二天 2 (del, 0) (add, c3.8xlarge.2, 1) //第三天 3 (add, c3.large.4, 2) (del, 1) (del, 2)
输出
// 该按顺序包含 T 天中每一天的决策信息 (purchase, 2)//(购买,服务器的数量) (NV603, 1) //(服务器类型,购买数量,ID按顺序编号) (NV604, 1) //(迁移,W:迁移的数量) (migration, 0) //迁移格式:(虚拟机 ID, 目的服务器 ID)或 (虚拟机 ID, 目的服务器 ID, 目的服务器节点) //部署情况,双节点只需输出服务器ID,单节点还需给出部署节点 (0, A) (0, B) //第二天 (purchase, 0) (migration, 0) (1) //第三天 (purchase, 0) (migration, 0) (1, B)
评分规则
- 服务器的硬件成本加上每天的能耗成本(开启的服务器)越低越好(即总成本越低越好)。
- 若总成本相同,则按迁移的虚拟机数越小越好。
- 前两者都相同,程序用时少的越好。
- 以上还都相同,则先提交代码的越好。