public class HybsScheduleChromosome extends AbstractHybsGAChromosome
AbstractHybsGAChromosomeのサンプル実装クラスです。 HybsGAObjectImplを利用しています。 属性値配列(文字列)にタスクの割当先(機械や人)候補 属性値(実数)にこのタスクにかかる時間 属性値配列(実数)[0]にこのタスクの納期(開始からの経過時間) を持たせているという想定です。 このクラスでは次のようにスケジュールを決めます。 1.候補のうち、一番タスクが積まれていないものに前から積む 2.同じであればリストの先頭の方に割り当てられる 3.納期オーバーの場合は評価関数の値が小さくなるようにする
optionData
コンストラクタと説明 |
---|
HybsScheduleChromosome()
コンストラクタ。
|
HybsScheduleChromosome(java.util.List representation)
コンストラクタ。
|
修飾子とタイプ | メソッドと説明 |
---|---|
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)
自身のクラスを新たに作成するメソッド。
|
clone, clone, getThisRepresentation, setOptionData
getLength, getRepresentation, toString
public HybsScheduleChromosome()
public HybsScheduleChromosome(java.util.List representation)
representation
- 染色体表現public double fitness()
public double makeSchedule(java.util.List representation, java.util.Map machineList, java.util.Map taskSchedule)
representation
- 染色体表現machineList
- マシンに対する積み上げ工数のリスト。(書き込まれるのでfinalにしない)taskSchedule
- マシンに対して、前からタスクをセットするリスト。(書き込まれるのでfinalにしない)6.8.2.3 (2017/11/10) Doubleインスタンス作成方法の変更。 |
public AbstractHybsGAChromosome newFixedLengthChromosome(java.util.List repr)
newFixedLengthChromosome
クラス内 AbstractHybsGAChromosome
repr
- 染色体表現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アプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.