Free cookie consent management tool by TermsFeed Policy Generator

source: branches/CFSAP/HeuristicLab.Problems.Instances/3.3/Types/CFSAPData.cs @ 15460

Last change on this file since 15460 was 15460, checked in by abeham, 6 years ago

#2747: worked on the CFSAP

  • Added problem definition that defines both sequence and assignment for a single nest
  • Added problem definition that would optimizes both sequence and assignment for multiple nests
  • Added interface
  • Added solving strategy that would use multiple instances of a template algorithm to optimize the worst nest
  • Fixed bug in parser regarding setup times
File size: 2.4 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2017 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System.Collections.Generic;
23
24namespace HeuristicLab.Problems.Instances {
25  public class CFSAPData {
26    /// <summary>
27    /// The name of the instance
28    /// </summary>
29    public string Name { get; set; }
30    /// <summary>
31    /// Optional! The description of the instance
32    /// </summary>
33    public string Description { get; set; }
34    /// <summary>
35    /// Optional! The best known cycle time.
36    /// </summary>
37    public int? BestKnownCycleTime { get; set; }
38    /// <summary>
39    /// The number of jobs.
40    /// </summary>
41    public int Jobs { get; set; }
42    /// <summary>
43    /// The number of nests.
44    /// </summary>
45    public int Nests { get; set; }
46    /// <summary>
47    /// The number of machine per nest.
48    /// </summary>
49    public int[] Machines { get; set; }
50    /// <summary>
51    /// For each nest, there is a matrix of processing times representing
52    /// for each machine (row) and for each job (column) the processing time.
53    /// </summary>
54    public List<int[][]> ProcessingTimes { get; set; }
55    /// <summary>
56    /// For each nest, there is a matrix of setup times representing
57    /// first dimension: for each machine,
58    /// second dimension: for each job (antecedent)
59    /// third dimension: for each job (succedent)
60    /// the setup time.
61    /// A set-up from the job to itself might also occur, for instance when
62    /// a cycle is complete and it is the only job at a certain nest.
63    /// </summary>
64    public List<int[][][]> SetupTimes { get; set; }
65  }
66}
Note: See TracBrowser for help on using the repository browser.