パッケージ org.opengion.penguin.math.ga

# クラス HybsScheduleChromosome

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

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

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

- ## フィールドの概要

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

  `optionData`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `HybsScheduleChromosome()`
  コンストラクタ。
  `HybsScheduleChromosome(List<HybsGAObject> representation)`
  コンストラクタ。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `protected void`
  `checkValidity(List<HybsGAObject> repr)`
  染色体表現のチェック。
  `double`
  `fitness()`
  適合度計算。
  `double`
  `makeSchedule(List<HybsGAObject> representation, Map<String,Double> machineList, Map<String,List<String>> taskSchedule)`
  HybsGAObjectImplを利用して前からスケジュールを積み上げていきます。
  `AbstractHybsGAChromosome`
  `newFixedLengthChromosome(List<HybsGAObject> 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(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`