tabla de asinación
Diagrama
——
s.a.r
library(ROI)
## ROI: R Optimization Infrastructure
## Registered solver plugins: nlminb, glpk.
## Default solver: auto.
library(ROI.plugin.glpk)
library(ompr)
## Warning: package 'ompr' was built under R version 4.1.1
library(ompr.roi)
## Warning: package 'ompr.roi' was built under R version 4.1.1
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.1
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
m=10000
c=matrix(c(m,m,3800,4100,6800,m,m,m,m,m,4000,4800,7000,m,m,m,m,m,4200,5300,7200,m,m,m,m,m,4800,5700,m,m,m,m,m,m,5300,m,m,m,m,m,m,m,m,m,m,m,m,m,m),nrow = 7,byrow = TRUE)
modelo_md=MIPModel()%>%
add_variable(x[i,j],i=1:7,j=1:7,type="binary")%>%
set_objective(sum_expr(c[i,j]*x[i,j],i=1:7,j=1:7),sense = "min")%>%
add_constraint(x[1,3]+x[1,4]+x[1,5]==1)%>%
add_constraint(-x[2,4]-x[2,5]-x[2,6]==0)%>%
add_constraint(x[1,3]-x[3,5]-x[3,6]-x[3,7]==0)%>%
add_constraint(x[1,4]+x[2,4]-x[4,6]-x[4,7]==0)%>%
add_constraint(x[1,5]+x[2,5]+x[3,5]-x[5,7]==0)%>%
add_constraint(x[2,6]+x[3,6]+x[4,6]-x[6,2]==0)%>%
add_constraint(x[3,7]+x[4,7]+x[5,7]==1)
solucion=solve_model(modelo_md,with_ROI(solver="glpk",verbose=TRUE))
## <SOLVER MSG> ----
## GLPK Simplex Optimizer, v4.47
## 7 rows, 49 columns, 25 non-zeros
## 0: obj = 0.000000000e+000 infeas = 2.000e+000 (7)
## * 2: obj = 1.100000000e+004 infeas = 0.000e+000 (6)
## * 6: obj = 9.800000000e+003 infeas = 0.000e+000 (3)
## OPTIMAL SOLUTION FOUND
## GLPK Integer Optimizer, v4.47
## 7 rows, 49 columns, 25 non-zeros
## 49 integer variables, all of which are binary
## Integer optimization begins...
## + 6: mip = not found yet >= -inf (1; 0)
## + 6: >>>>> 9.800000000e+003 >= 9.800000000e+003 0.0% (1; 0)
## + 6: mip = 9.800000000e+003 >= tree is empty 0.0% (0; 1)
## INTEGER OPTIMAL SOLUTION FOUND
## <!SOLVER MSG> ----
solucion$objective_value
## [1] 9800
get_solution(solucion,x[i,j])%>%filter(value>0)
## variable i j value
## 1 x 1 4 1
## 2 x 4 7 1
Analisis de los resultados en R