我有一个决策变量数组,我想将每个决策变量与列表的不同整数相乘下面是一个例子:
#Import libraries
from rsome import ro
m=3
a = [0.10,0.1,1]
b = [0.13,0.1,0.3]
#create a model object
model = ro.Model('model')
x = model.dvar(m) #array of decision variables
y = model.dvar(m) #array of decision variables
#objective function
model.min(((a*x)- (b*y)).sum())
我的问题是我如何确保这个操作实际上是做一个元素明智的乘法?当我检查x或y的类型时我得到我得到3个连续变量PriceImp*Pimp是1x3仿射表达式,但它是元素明智的乘法吗?
请将RSOME升级到最新版本,并确保将a
和b
等系数定义为np.ndarray
类型对象,而不是列表。
*
运算符执行逐元素乘法,因此a*x
和b*y
应该是"3个仿射表达式"。RSOME也支持广播,就像NumPy一样,所以如果一个1x3的系数数组乘以一个3个变量的数组,则仿射表达式的形状是1x3。