クラス HybsScheduleChromosome

  • すべての実装されたインタフェース:
    Comparable<org.apache.commons.math3.genetics.Chromosome>, org.apache.commons.math3.genetics.Fitness

    public class HybsScheduleChromosome
    extends AbstractHybsGAChromosome
    AbstractHybsGAChromosomeのサンプル実装クラスです。 HybsGAObjectImplを利用しています。 属性値配列(文字列)にタスクの割当先(機械や人)候補 属性値(実数)にこのタスクにかかる時間 属性値配列(実数)[0]にこのタスクの納期(開始からの経過時間) を持たせているという想定です。 このクラスでは次のようにスケジュールを決めます。 1.候補のうち、一番タスクが積まれていないものに前から積む 2.同じであればリストの先頭の方に割り当てられる 3.納期オーバーの場合は評価関数の値が小さくなるようにする
    • コンストラクタの詳細

      • HybsScheduleChromosome

        public HybsScheduleChromosome()
        コンストラクタ。
      • HybsScheduleChromosome

        public HybsScheduleChromosome​(List<HybsGAObject> representation)
        コンストラクタ。
        パラメータ:
        representation - 染色体表現
    • メソッドの詳細

      • fitness

        public double fitness()
        適合度計算。
        戻り値:
        適合度計算の結果
      • makeSchedule

        public double makeSchedule​(List<HybsGAObject> representation,
                                   Map<String,​Double> machineList,
                                   Map<String,​List<String>> taskSchedule)
        HybsGAObjectImplを利用して前からスケジュールを積み上げていきます。
        パラメータ:
        representation - 染色体表現
        machineList - マシンに対する積み上げ工数のリスト。(書き込まれるのでfinalにしない)
        taskSchedule - マシンに対して、前からタスクをセットするリスト。(書き込まれるのでfinalにしない)
        戻り値:
        納期遅れの累計
        変更履歴:
        6.8.2.3 (2017/11/10) Doubleインスタンス作成方法の変更。
      • newFixedLengthChromosome

        public AbstractHybsGAChromosome newFixedLengthChromosome​(List<HybsGAObject> repr)
        自身のクラスを新たに作成するメソッド。 ここではオプションデータはクローンせずに参照で渡しています。 (計算では利用していません)
        定義:
        newFixedLengthChromosome クラス内 AbstractHybsGAChromosome
        パラメータ:
        repr - 染色体表現
        戻り値:
        作成された自分自身のクラス
      • checkValidity

        protected void checkValidity​(List<HybsGAObject> repr)
                              throws org.apache.commons.math3.genetics.InvalidRepresentationException
        染色体表現のチェック。
        定義:
        checkValidity クラス内 org.apache.commons.math3.genetics.AbstractListChromosome<HybsGAObject>
        パラメータ:
        repr - HybsGAObjectのリスト
        例外:
        org.apache.commons.math3.genetics.InvalidRepresentationException