使用Julia运用JuMP和Clp求解Lp和ILP问题(分支定界法)

#张文硕编写-2022年运筹作业,西交的同学请勿抄袭,会查重
using JuMP
using Clp
#=导入Clp和JuMP,其中Clp为求解器,JuMP是一个类似于接口的东西=#

model = Model(Clp.Optimizer)
#=使用JuMP和求解器Clp创建模型=#

@variable(model, 0 <= x2 <= 3)
@variable(model, 0 <= x1 )#定义两个变量x1和x2
@objective(model, Min, -4*x1 + 5 * x2)#创建目标函数
@constraint(model, c1, 7x1 - x2 <= 14)
@constraint(model, c2, 2x1 - 2x2 <= 3)#创建约束条件
@constraint(model, c3, x1 >= 2)#创建约束条件
@constraint(model, c4, x2 <= 0)#创建约束条件
optimize!(model)
#JuMP求解模型

println(termination_status(model)) #输出模型是否成共
println("the best solve of the model:")
println(objective_value(model))#输出模型最优解
println("the value of x1:")
println(value(x1))#输出x1的值
println("the value of x2:")
println(value(x2))#输出x2的值

#以上为一段代码
#所有代码的截图在png文件中
#最终结果为如果为Lp问题,解为:(1.5,0)值为-6
#最终结果为如果为ILP问题,解为:(1,0)值为-4
#本问题对于ILP问题的求解使用分支定界法求解

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值