クラス 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]にこのタスクの納期(開始からの経過時間) を持たせているという想定です。 このクラスでは次のようにスケジュールを決めます。 1.候補のうち、一番タスクが積まれていないものに前から積む 2.同じであればリストの先頭の方に割り当てられる 3.納期オーバーの場合は評価関数の値が小さくなるようにする
-
-
フィールドの概要
-
クラスから継承されたフィールド org.opengion.penguin.math.ga.AbstractHybsGAChromosome
optionData
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 HybsScheduleChromosome()
コンストラクタ。HybsScheduleChromosome(List<HybsGAObject> representation)
コンストラクタ。
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 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
-
-
-
-
コンストラクタの詳細
-
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
-
-