Python动态规划实现虚拟机部署的方法
发表于:2024-10-12 作者:千家信息网编辑
千家信息网最后更新 2024年10月12日,本篇内容介绍了"Python动态规划实现虚拟机部署的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2024年10月12日Python动态规划实现虚拟机部署的方法
本篇内容介绍了"Python动态规划实现虚拟机部署的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
题目描述
考虑到在虚拟机部署中资源提供商通常希望自己的收益最大化,现假设有一台宿主机,共有x个cpu和y GB的内存,用户可以采取自己报价的方式向资源提供商申请使用虚拟机资源,譬如说付w元申请a个cpu和b GB内存的一台虚拟机。请你设计一个算法,让资源提供商可以合理地安排虚拟机,使得自己的收益最大化。
输入:
n x y
2 4 200
4 2 150
…
说明,n表示共有n条用户报价申请,宿主机共有x个cpu和y GB的内存;
以下n行,每行表示用户申请的cpu和内存数,以及用户报价的金额。
算法思想
该问题为寻找全局最优解问题,采用动态规划的思想。找最大利益是最终的问题,可以将最大利益的子问题看做是已经报价的每个用户最大金额,并将其所要求的CPU数和内存数加入到总的需求总,与提供的CPU数和内存容纳进行对比。解决了目前最大报价的用户,下一个最大报价又可以看做是一个子问题,但CPU和内存容量需要减去已经分配的,如此反复,到CPU和内存容量不能满足任何一个用户要求为止,最优解便求得。
测试结果
运行结果:
源代码
import sys print("请输入申请虚拟机的用户个数,cpu个数,内存容量:")a = list(map(int, input().split())) # 用数组a来存储参与报价的用户的个数,云端要存储的cpu个数,容量大小 a1 = a[0] # 存储用户个数,要输入几行数据 a2 = a[1] # 存储cpu的个数 a3 = a[2] # 存储容量 b = []cpu_num=0size_num=0money=0b1 = [0]*a1 #数组b1存储用户报价 p1 = [0]*a1 #数组p1记录报价金额的位置for i in range(a1): print("请输入第",i+1,"个用户的申请CPU个数 内存容量 报价:") b.append(list(map(int, input().split())))for k in range(a1): b1[k] = b[k][2] p1[k] = k for i in range(0,a1-1): for j in range(1,a1-i): if b1[j]>b1[j-1]: temp=b1[j-1] b1[j-1]=b1[j] b1[j]=temp temp=p1[j-1] p1[j-1]=p1[j] p1[j]=tempdef Fun(i): global cpu_num,size_num,money cpu_num=cpu_num+b[p1[i]][0] size_num=size_num+b[p1[i]][1] money=money+b[p1[i]][2] if cpu_num>a2 or size_num>a3: money=money-b[p1[i]][2] cpu_num=cpu_num-b[p1[i]][0] size_num=size_num-b[p1[i]][1] for i in range(a1): Fun(i)print("最大化收益:",money)
"Python动态规划实现虚拟机部署的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
用户
内存
报价
最大
个数
容量
存储
问题
资源
输入
动态
规划
提供商
收益
数组
金额
方法
内容
利益
宿主
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
破坏网络安全罪
hp服务器总代理
网络安全法第几条规定遵守宪法
网络安全设备的探针是什么
泰州小型网络技术价格表格
安宁综合软件开发零售价格
网站服务器安全审计报告
dhcp服务器老自动开启
软件开发任务书文库
软件开发的任务书编写
网络安全审计服务资质认证机构
肇庆市有软件开发行业吗
佛山pc软件开发设计
全面整治网络安全
数据库sql外键
直销软件开发hhzxrj
链麦乐网络技术有限公司
四级计算机网络安全与维护
网络技术与市场消费
临猗网络安全
伊春市公安局网络安全
对计算机服务器的认识
海康威视服务器怎么抓包
安卓软件开发推进书
高中数据库表关系
长春市委网络安全信息工作
数据库二维 数组
四级计算机网络安全与维护
新罗区咸鱼猫月网络技术服务部
网络安全法突出亮点是