Element wise multiplication of decision variable array and list of integers in python RSOME

145 Views Asked by At

I have a decision variable array and I want to multiply each decision variable with a different integer of a list Here is an example:

#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()) 

My question is how do I make sure this operation is actually doing an element wise multiplication ? When I check type of x or y type I get I get 3 continuous variables and PriceImp*Pimp is 1x3 affine expressions but is it element wise multiplication?

1

There are 1 best solutions below

0
On

Please upgrade RSOME to the latest version, and make sure that coefficients like a and b are defined as np.ndarray type objects, instead of lists.

The * operator performs element-wise multiplication, so a*x and b*y should be "3 affine expressions". RSOME also supports broadcasting, just like NumPy, so if a 1x3 coefficient array times an array of 3 variables, the shape of the affine expression is 1x3.