[R-es] Rglpk_solve_LP

Sebastian Kruk re@|duo@@o|ow @end|ng |rom gm@||@com
Mie Ago 3 17:22:51 CEST 2022


Estimados usuarios-R:

Estoy probando el solver GLPK.

Me pasaron un programa en Octave y lo convertí a R pero me da siempre
que la solución es 0.

En R me quedó así:

######################################################

#1) Datos

#Período de estudio (días)
T = 10

#Demanda diaria
dda = 10*matrix(1,T,1)

#Capacidad de camión (m3)
K=30

#Capacidad de tanque (m3)
cap_tqe=40

#Stock inicial (m3)
s0=15

#Max cantdad diaria de camiones
x_max=10

##################################
#2) Modelo simple, puede entregar todos los días, camiones enteros
#
# Variables: z=[x; s], cant camiones x(t) y stock final s(t)
c = matrix(rep(1:0,each = T))
vlb = matrix(rep(0,2*T))
vub = matrix(c(x_max*rep(1,T),cap_tqe*rep(1,T)))

#Rest de balance:  s(t)=s(t-1)+K*x(t)-dda(t)
A1=matrix(0,nrow=T,ncol=2*T)
A1[,1:T]=diag(K,dim(A1[,1:T]))
T2 = T+1
T3 = 2*T
library(pracma)
A1[,T2:T3]=-diag(1,T,T)+Diag(rep(1,T-1),-1)
b1 = dda
b1[1] = b1[1]-s0

#Tipo de variables y restricciones
varint=rep("I",T)
varcont=rep("C",T)
ctype=rep("S",T)

#vartype=[varint varcont];
vartype=c(varcont, varcont)
#-----
sense=1;

Rglpk_solve_LP(obj = c, mat =A1, dir = rep("<=",nrow(A1)),rhs = b1,max
= F, types = vartype)

######################################################

¿Cuál será el problema?

Gracias,

Sebastián.



Más información sobre la lista de distribución R-help-es