SCC-VRP Instance Format Specification
=====================================

This document describes the structure and purpose of all variables used in the SCC-VRP instance files.
Instances were previously stored in inconsistent formats.

-------------------------------------
General Information
-------------------------------------
/*********************************************
 * OPL 12.2 Data
 * Author: Juan Aday Siverio Glez
 * Creation Date: 20/05/15
 *********************************************/

Id                : Instance identifier.
c                 : Number of carriers (transport companies).
n                 : Number of clients.
N                 : List of clients.
D                 : List of depots.

Note!!! Variables K, KT, m, and cv are included for compatibility but are not used in the current SCC-VRP formulation.

-------------------------------------
Demand and Assignment
-------------------------------------
CJ : Defines which carrier(s) can serve each client.
     Example:
     CJ = [ {2}, {2}, {1,2}, ... ]

d  : Matrix of demands. Each row corresponds to a client, and each column to a carrier.
     Example:
     d = [ [0,10], [0,13], [11,0], ... ]

     Interpretation:
     - Client 1 requests 10 units from carrier 2.
     - Client 5 requests 11 units from carrier 1.
     - Etc.

Q  : Vehicle capacity (identical for all carriers).

-------------------------------------
Cost Matrix
-------------------------------------
The transportation cost between nodes is defined as:

cost = #[
  <1,2>: 14.56,
  <1,3>: 32.20,
  ...
  <25,23>: 24.70,
]#;

Each pair <i, j> represents the cost of traveling from node i to node j.
Both depots and clients are included in this matrix.

-------------------------------------
Variables Order in Instances Files
-------------------------------------
The following list shows the natural order in which variables appear within the SCC-VRP instance files.
This structure follows the original OPL 12.2 data format used for compatibility with other optimization models.
Some variables (such as K, KT, m, and cv) are included but not used in the current SCC-VRP formulation.
/*********************************************
 * OPL 12.2 Data
 * Author: Juan Aday Siverio Glez
 * Creation Date: 20/05/15
 *********************************************/
ID Problem;
Carriers c = 2;
NumberOfClients n = 23;
ClientList N = {1,2,3,4...};
ListDepots D = {24,25};
K   (unused variable)
KT  (unused variable)
m   (unused variable)
Cj (carriers assigned to each client)
CJ = [{2},{1,2},{2},{1},{1},{2},{1,2},{2}...];
ListDemandas (demand of each client for carrier 1 and carrier 2)
d = [
[0,10],[5,13],[0,19],[19,0]...
];
Q (vehicle capacity) Q = 100;
cv (unused variable)
Cost matrix (travel cost between nodes)
<Nodo1, Nodo2>: cost(float),
...

cost = #[
  <1,2>:14.56,
  <1,3>:32.20,
  ...
  <25,23>:24.70,
]#;

-------------------------------------
Notes
-------------------------------------
Remember that the variables K, KT, m, and cv are included only for compatibility with other problem formulations.
The SCC-VRP model reuses instance formats originally designed for related problems, but these specific variables are not utilized in the current formulation.
