#region License Information /* HeuristicLab * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) * * This file is part of HeuristicLab. * * HeuristicLab is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * HeuristicLab is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with HeuristicLab. If not, see . */ #endregion namespace HeuristicLab.Problems.Instances { /// /// Describes an instance of the Generalized Quadratic Assignment Problem (GQAP). /// public interface IGQAPInstance { /// /// The name of the instance. /// string Name { get; } /// /// A description of the instance. /// string Description { get; } /// /// |E| = The number of equipments are to be assigned in this instance. /// int Equipments { get; } /// /// |L| = The number of locations that are available for the equipments. /// int Locations { get; } /// /// Vector of length |E| that describes the space demand for the equipments. /// double[] Demands { get; } /// /// Vector of length |L| that describes the space capacity for the locations. /// double[] Capacities { get; } /// /// |E|x|E| matrix with the weights (flows) between the equipments. These describe the strength of the respective bonding. /// double[,] Weights { get; } /// /// |L|x|L| matrix with the distances between the locations. /// double[,] Distances { get; } /// /// |E|x|L| matrix that describes the costs of installing equipment x at location y. /// double[,] InstallationCosts { get; } /// /// A factor that scales the weights. /// double TransportationCosts { get; } /// /// Optional! The best-known assignment is a vector of length |E| with numbers ranging from 0 to |L| - 1 /// int[] BestKnownAssignment { get; } /// /// Optional! The quality of the best-known assignment. /// double? BestKnownQuality { get; } } }