下面是一个使用CPLEX求解并保存结果的示例代码:
import cplex
import numpy as np
# 重新生成数据
# ...
# 创建一个CPLEX求解器对象
solver = cplex.Cplex()
# 创建变量
# ...
# 创建目标函数
# ...
# 创建约束条件
# ...
# 设置流控制参数
solver.parameters.mip.limits.solutions.set(1) # 设置只求解一个可行解
# 求解模型
solver.solve()
# 检查求解状态
status = solver.solution.get_status()
if status == cplex.SolutionStatus.Optimal:
print("Optimal solution found")
elif status == cplex.SolutionStatus.Feasible:
print("Feasible solution found")
else:
print("No solution found")
# 获取结果
opt_solution = solver.solution.get_values()
opt_obj_value = solver.solution.get_objective_value()
# 保存结果到文件
np.savetxt("solution.csv", opt_solution, delimiter=",")
# 关闭求解器对象
solver.end()
这是一个简单的示例代码,你可以根据你的具体问题进行适当的修改和扩展。在代码中,我们使用CPLEX求解器对象solver
来定义变量、目标函数和约束条件。通过设置solver.parameters.mip.limits.solutions.set(1)
,我们告诉CPLEX只求解一个可行解。最后,我们使用solver.solution.get_values()
获取解决方案的变量值,并使用np.savetxt()
将结果保存到solution.csv
文件中。