要求解的问题
import numpy as np
import random
K=3
S=1
N=64
M=128
R=32
C=32
PE=220 #DSP数量
B=50000 #片上存储器容量
def objfunc(Tn,Tm,Tr,Tc):
Tload=max(Tn*(S*Tr+K-S)*(S*Tc+K-S),Tn*Tm*K*K)
Tstore=Tr*Tc*Tm
Tcompute=Tr*Tc*K*K
Tone_tile=Tload+Tcompute+(np.ceil(N/Tn)-1)*max(Tload,Tcompute)
Ttotal=np.ceil(R/Tr)*np.ceil(C/Tc)*(Tstore+Tone_tile+(np.ceil(M/Tm)-1)*max(Tone_tile,Tstore))
return Ttotal
def constrain(Tn,Tm,Tr,Tc):
if Tn*Tm>PE or Tn*Tm*K*K+Tn*(S*Tr+K-S)*(S*Tc+K-S)+Tm*Tr*Tc>B:
return False
else:
return True
def MonteCarlo(n):
solution=[0,0,0,0]
Tmin=9999999.0
for i in range(n):
Tn=np.random.randint(low=1,high=N+1)
Tm=np.random.randint(low=1,high=M+1)
Tr=np.random.randint(low=1,high=R+1)
Tc=np.random.randint(low=1,high=C+1)
#print(Tn,Tm,Tr,Tc)
if constrain(Tn=Tn,Tm=Tm,Tr=Tr,Tc=Tc): #满足约束
temp=objfunc(Tn=Tn,Tm=Tm,Tr=Tr,Tc=Tc)
if temp0 and Tm>0 and Tr>0 and Tc>0 and Tn
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?