You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中CPLEX决策变量类型转换及维度设置问题

CPLEX Python决策变量定义问题解答

问题1:将循环创建的integer_var改为用integer_var_list实现

你可以先通过integer_var_list批量生成6个整数变量的列表,再将其转换为(6,1)维度的numpy数组,替代原有的循环写法:

import numpy as np

# 用integer_var_list批量创建变量列表
x_var_list = mdl.integer_var_list(6, lb=0, ub=inf, name_prefix='x')
# 转换为(6,1)的numpy数组
x = np.array(x_var_list).reshape((6, 1))

如果需要保持变量名和原代码一致(x1到x6),指定name_prefix为'x'即可,CPLEX会自动为每个变量添加索引后缀,和原循环的命名逻辑完全匹配。

问题2:将integer_var_list生成的(6,)结构改为(6,1)维度

直接将integer_var_list生成的列表转换为numpy数组后调用reshape方法就能实现:

import numpy as np

x = np.array(mdl.integer_var_list(6, 0, inf, name='x')).reshape((6, 1))

最终得到的x就是维度为(6,1)的numpy数组,每个元素对应一个CPLEX整数变量。

内容的提问来源于stack exchange,提问作者Nicholas Nicholas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 19:18:18