クラス 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
AbstractHybsGAChromosomeのサンプル実装クラスです。
HybsGAObjectImplを利用しています。
属性値配列(文字列)にタスクの割当先(機械や人)候補
属性値(実数)にこのタスクにかかる時間
属性値配列(実数)[0]にこのタスクの納期(開始からの経過時間)
を持たせているという想定です。
このクラスでは次のようにスケジュールを決めます。
1.候補のうち、一番タスクが積まれていないものに前から積む
2.同じであればリストの先頭の方に割り当てられる
3.納期オーバーの場合は評価関数の値が小さくなるようにする
-
フィールドの概要
クラスから継承されたフィールド org.opengion.penguin.math.ga.AbstractHybsGAChromosome
optionData
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected void
checkValidity
(List<HybsGAObject> repr) 染色体表現のチェック。double
fitness()
適合度計算。double
makeSchedule
(List<HybsGAObject> representation, Map<String, Double> machineList, Map<String, List<String>> taskSchedule) HybsGAObjectImplを利用して前からスケジュールを積み上げていきます。自身のクラスを新たに作成するメソッド。クラスから継承されたメソッド 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
-
コンストラクタの詳細
-
HybsScheduleChromosome
public HybsScheduleChromosome()コンストラクタ。 -
HybsScheduleChromosome
コンストラクタ。- パラメータ:
representation
- 染色体表現
-
-
メソッドの詳細
-
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
自身のクラスを新たに作成するメソッド。 ここではオプションデータはクローンせずに参照で渡しています。 (計算では利用していません)- 定義:
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
-