def addVariable(self, var_name, var_dims, kind='Var', **kwargs):
if var_name in self.var_dict:
print "error: %s is a duplicated variable"%var_name
var_name_parts = LPCompiler.var_name_regex.match(var_name)
new_var = {
'start' : self.total_var_length,
'dims' : var_dims,
'cumdims': np.cumprod([1]+var_dims),
'length': np.prod(var_dims),
'name' : var_name,
'idx' : var_name_parts.group('var').split(','),
'lbl' : var_name_parts.group('lbl').split(','),
'kind' : kind,
'min_value' : 0 if 'min_value' not in kwargs else kwargs['min_value']
}
self.var_dict[var_name] = new_var
if kind == 'Param':
for i in range(new_var['start'], new_var['start']+new_var['length']):
self.int_flag.append([i, 1])
self.total_var_length += new_var['length']
评论列表
文章目录