人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的算法思想

發(fā)布日期:2022-02-22 12:53 | 文章來源:源碼中國

聲明

本文章為個人拙見,僅僅提供參考,不一定正確,各位大佬可以發(fā)表自己的意見。

題目描述

考慮到在虛擬機部署中資源提供商通常希望自己的收益最大化,現(xiàn)假設(shè)有一臺宿主機,共有x個cpu和y GB的內(nèi)存,用戶可以采取自己報價的方式向資源提供商申請使用虛擬機資源,譬如說付w元申請a個cpu和b GB內(nèi)存的一臺虛擬機。請你設(shè)計一個算法,讓資源提供商可以合理地安排虛擬機,使得自己的收益最大化。
輸入:
n x y
2 4 200
4 2 150

說明,n表示共有n條用戶報價申請,宿主機共有x個cpu和y GB的內(nèi)存;
以下n行,每行表示用戶申請的cpu和內(nèi)存數(shù),以及用戶報價的金額。

算法思想

該問題為尋找全局最優(yōu)解問題,采用動態(tài)規(guī)劃的思想。找最大利益是最終的問題,可以將最大利益的子問題看做是已經(jīng)報價的每個用戶最大金額,并將其所要求的CPU數(shù)和內(nèi)存數(shù)加入到總的需求總,與提供的CPU數(shù)和內(nèi)存容納進行對比。解決了目前最大報價的用戶,下一個最大報價又可以看做是一個子問題,但CPU和內(nèi)存容量需要減去已經(jīng)分配的,如此反復(fù),到CPU和內(nèi)存容量不能滿足任何一個用戶要求為止,最優(yōu)解便求得。

測試結(jié)果

運行結(jié)果:

源代碼

import sys  
print("請輸入申請?zhí)摂M機的用戶個數(shù),cpu個數(shù),內(nèi)存容量:")
a = list(map(int, input().split()))  # 用數(shù)組a來存儲參與報價的用戶的個數(shù),云端要存儲的cpu個數(shù),容量大小  
a1 = a[0]  # 存儲用戶個數(shù),要輸入幾行數(shù)據(jù)  
a2 = a[1]  # 存儲cpu的個數(shù)  
a3 = a[2]  # 存儲容量  
b = []
cpu_num=0
size_num=0
money=0
b1 = [0]*a1  #數(shù)組b1存儲用戶報價
p1 = [0]*a1  #數(shù)組p1記錄報價金額的位置
for i in range(a1):
 print("請輸入第",i+1,"個用戶的申請CPU個數(shù) 內(nèi)存容量 報價:")
 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]=temp
def 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)

到此這篇關(guān)于Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的文章就介紹到這了,更多相關(guān)Python虛擬機部署內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

美國穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部