org.opengion.penguin.math.ga

## クラス HybsScheduleChromosome

- java.lang.Object
- - org.apache.commons.math3.genetics.Chromosome
  - - org.apache.commons.math3.genetics.AbstractListChromosome
    - - org.opengion.penguin.math.ga.AbstractHybsGAChromosome
      - - org.opengion.penguin.math.ga.HybsScheduleChromosome

- すべての実装されたインタフェース:
    java.lang.Comparable, org.apache.commons.math3.genetics.Fitness

      public class HybsScheduleChromosome
      extends AbstractHybsGAChromosome

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

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド org.opengion.penguin.math.ga.AbstractHybsGAChromosome

      `optionData`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `HybsScheduleChromosome()` コンストラクタ。
    `HybsScheduleChromosome(java.util.List representation)` コンストラクタ。

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected void` | `checkValidity(java.util.List repr)` 染色体表現のチェック。
    `double` | `fitness()` 適合度計算。
    `double` | `makeSchedule(java.util.List representation, java.util.Map machineList, java.util.Map taskSchedule)` HybsGAObjectImplを利用して前からスケジュールを積み上げていきます。
    `AbstractHybsGAChromosome` | `newFixedLengthChromosome(java.util.List repr)` 自身のクラスを新たに作成するメソッド。

    - ### クラスから継承されたメソッド org.opengion.penguin.math.ga.AbstractHybsGAChromosome

      `clone, clone, getThisRepresentation, setOptionData`

    - ### クラスから継承されたメソッド org.apache.commons.math3.genetics.AbstractListChromosome

      `getLength, getRepresentation, toString`

    - ### クラスから継承されたメソッド org.apache.commons.math3.genetics.Chromosome

      `compareTo, findSameChromosome, getFitness, isSame, searchForFitnessUpdate`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### HybsScheduleChromosome

          public HybsScheduleChromosome()

      コンストラクタ。

    - #### HybsScheduleChromosome

          public HybsScheduleChromosome(java.util.List representation)

      コンストラクタ。
      パラメータ:
        `representation` - 染色体表現

  - ### メソッドの詳細

    - #### fitness

          public double fitness()

      適合度計算。
      戻り値:
        適合度計算の結果

    - #### makeSchedule

          public double makeSchedule(java.util.List representation,
                                     java.util.Map machineList,
                                     java.util.Map taskSchedule)

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

    - #### newFixedLengthChromosome

          public AbstractHybsGAChromosome newFixedLengthChromosome(java.util.List repr)

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

    - #### checkValidity

          protected void checkValidity(java.util.List repr)
                                throws org.apache.commons.math3.genetics.InvalidRepresentationException

      染色体表現のチェック。
      定義:
        `checkValidity` クラス内 `org.apache.commons.math3.genetics.AbstractListChromosome`
      パラメータ:
        `repr` - HybsGAObjectのリスト
      例外:
        `org.apache.commons.math3.genetics.InvalidRepresentationException`

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.