Quadratic Assignment Problem: Optimization with Gurobi Solver + Python + Rstudio

This is the simple case study of optimal resource re-distribution with two products of ‘ATMCashMachines’ and ‘BranchOffices’ to Finland, Sweden, Norway, Denmark and Germany for a multinational Commerical Bank.

4 Create optimization model

Using license file C:\Users\Heatfront\gurobi.lic
Academic license - for non-commercial use only

6 Arc-capacity constraints

{('Finland', 'Norway'): <gurobi.Constr *Awaiting Model Update*>, ('Finland', 'Denmark'): <gurobi.Constr *Awaiting Model Update*>, ('Finland', 'Germany'): <gurobi.Constr *Awaiting Model Update*>, ('Sweden', 'Norway'): <gurobi.Constr *Awaiting Model Update*>, ('Sweden', 'Denmark'): <gurobi.Constr *Awaiting Model Update*>, ('Sweden', 'Germany'): <gurobi.Constr *Awaiting Model Update*>}

7 Model optimization

{('ATMCashMachines', 'Finland'): <gurobi.Constr *Awaiting Model Update*>, ('ATMCashMachines', 'Sweden'): <gurobi.Constr *Awaiting Model Update*>, ('ATMCashMachines', 'Norway'): <gurobi.Constr *Awaiting Model Update*>, ('ATMCashMachines', 'Denmark'): <gurobi.Constr *Awaiting Model Update*>, ('ATMCashMachines', 'Germany'): <gurobi.Constr *Awaiting Model Update*>, ('BranchOffices', 'Finland'): <gurobi.Constr *Awaiting Model Update*>, ('BranchOffices', 'Sweden'): <gurobi.Constr *Awaiting Model Update*>, ('BranchOffices', 'Norway'): <gurobi.Constr *Awaiting Model Update*>, ('BranchOffices', 'Denmark'): <gurobi.Constr *Awaiting Model Update*>, ('BranchOffices', 'Germany'): <gurobi.Constr *Awaiting Model Update*>}
Gurobi Optimizer version 9.0.0 build v9.0.0rc2 (win64)
Optimize a model with 16 rows, 12 columns and 36 nonzeros
Model fingerprint: 0xf3ddfcd8
Coefficient statistics:
  Matrix range     [1e+00, 1e+00]
  Objective range  [1e+01, 8e+01]
  Bounds range     [0e+00, 0e+00]
  RHS range        [1e+01, 9e+02]
Presolve removed 15 rows and 9 columns
Presolve time: 0.01s
Presolved: 1 rows, 3 columns, 3 nonzeros

Iteration    Objective       Primal Inf.    Dual Inf.      Time
       0    5.7000000e+03   2.500000e+00   0.000000e+00      0s
       1    6.1000000e+03   0.000000e+00   0.000000e+00      0s

Solved in 1 iterations and 0.02 seconds
Optimal objective  6.100000000e+03

9 Results Tabluation

Written by DK WC

2019-12-17