Source Code

We have developed different versions of a C# computer code to share with the community. All codes are available upon request!

  • The basic version of executable software package with UI can be downloaded here.
  • An extended version of the executable (described in section 6 of the main paper) can be downloaded here.
  • Users can run these directly on a Windows PC for quick tests.
  • For tests in a more flexible way, researchers may want to work on the source codes directly.

C# .Net Core Source Code


For researchers who want to program, we recommend to check these C# console application packages (basic and extended), which have relatively small sizes, without too many experiment settings or a UI. Each of the packages (basic or extended) only includes the “core” part of modeling work, such as the data definition, generation and modeling with CPLEX. These packages are built under .Net Core platform, which is cross-platform. For researchers who use Java, these source codes are also easy to convert to Java versions.

Each package includes:

  • Program.cs: the main function and parameter settings.
  • Node.cs: defining the node (for TSP; or, site for QAP) and distance matrix.
  • Department.cs: defining the flow matrix between departments and fixed department-site costs.
  • DataGenerator.cs: creating random data set for testing.
  • TSPSolver.cs: building the conventional model (MTZ) and our proposed model (N6LP) with CPLEX.
  • QAPSolver.cs: building the conventional model and our proposed model (N6LP) with CPLEX.

Executable Packages with UI


For researchers who want to run tests on a Windows platform without programming, these versions provide a UI with multiple experiment options. For example, randomly generate test data based on different rules, e.g. cost range, symmetric, symmetric and so on; read cost matrix in CSV files provided by users; build models in .lp files without CPLEX or Gurobi; build and solve models on a machine with CPLEX or Gurobi installed (we do not provide these commercial software, but academic researchers can get them from the companies for free).

More functions and experiment parameter options can be found in the ReadMe file. Below, there are some sample screenshots.

Back to top