某钢管零售商从钢管厂进货,将钢管按照顾客要求切割后售出,从钢管厂进货时得到的原料钢管都是19米。 (1)现有一客户需要50根4m、20根6m、和15根8m的钢管,应如何下料最节省?
image.png
决策变量:用Xi表示第i种模式(i=1,2,…,7)切割的原料钢管的根数,Xi为非负整数
决策目标:切割后剩余的总余料最小
min Z1 = 3X1 + X2 + 3X3 + 3X4 + X5 + X6 + 3X7
约束条件:
4X1 + 3X2 + 2X3 + X4 + X5 >= 50
X2 + 2X4 + X5 + 3X6 >= 20
X3 + X5 + 2X7 >= 15
obj<-c(3,1,3,3,1,1,3)
length(obj)
mat<-matrix(c(4,3,2,1,1,0,0,
0,1,0,2,1,3,0,
0,0,1,0,1,0,2),nrow=3,byrow=TRUE)
dir<-c(">=",">=",">=")
rhs<-c(50,20,15)
types<-c("I","I","I")
Rsymphony_solve_LP(obj,mat,dir,rhs,types=types,max=F)
#output
$solution
[1] 0 12 0 0 15 0 0
$objval
[1] 27
$status
TM_OPTIMAL_SOLUTION_FOUND
0
status==0表示找到解status== 1表示无解
最优解 X2==12;X5==15
此为剩余的总余料最少;原料钢管的总根数最少更换决策目标函数即可。