예제 #1
0
 @Override
 protected void RichGotPoor(DreamTaskRecord taskRecord, int change) {
   // this is for new tasks : With 0 outcome they usually have precision 100 then they find out it
   // is 0
   if (taskRecord.getTask().getResourceShare() <= algorithm.getMinResource()) {
     taskRecord.setAdditionStep(getInitAdditionStep(taskRecord));
   } else {
     taskRecord.setAdditionStep(Math.max(taskRecord.getReductionStep(), change)); // conservative
   }
 }
예제 #2
0
  @Override
  protected void PoorGaveMiddle(DreamTaskRecord taskRecord, int change) {
    taskRecord.setReductionStep(Math.max(taskRecord.getAdditionStep(), change));
    taskRecord.setAdditionStep(Math.max(taskRecord.getAdditionStep(), change));

    //        taskRecord.setAdditionStep(change);
  }
예제 #3
0
 @Override
 protected void PoorGotPoor(DreamTaskRecord taskRecord, int change) {
   //        if (taskRecord.notUsingAll()) {
   //            taskRecord.setAdditionStep(Math.max(taskRecord.getAdditionStep(), change));
   //        } else {
   taskRecord.setAdditionStep(
       taskRecord.getAdditionStep() + probAdd * change / taskRecord.getAdditionStep());
   //        }
 }
예제 #4
0
 @Override
 protected void RichGaveMiddle(DreamTaskRecord taskRecord, int change) {
   taskRecord.setAdditionStep(change / 2);
   taskRecord.setReductionStep(change / 2);
 }
예제 #5
0
 @Override
 protected void MiddleGotPoor(DreamTaskRecord taskRecord, int change) {
   taskRecord.setAdditionStep(Math.max(taskRecord.getReductionStep(), change));
 }
예제 #6
0
 @Override
 protected void MiddleGavePoor(DreamTaskRecord taskRecord, int change) {
   taskRecord.setAdditionStep(taskRecord.getAdditionStep() + change);
 }
예제 #7
0
 @Override
 protected void RichGavePoor(DreamTaskRecord taskRecord, int change) {
   taskRecord.setAdditionStep(change / 2);
 }