net.sf.cpsolver.studentsct.weights
Class EqualStudentWeights

java.lang.Object
  extended by net.sf.cpsolver.studentsct.weights.PriorityStudentWeights
      extended by net.sf.cpsolver.studentsct.weights.EqualStudentWeights
All Implemented Interfaces:
SolutionComparator<Request,Enrollment>, StudentWeights

public class EqualStudentWeights
extends PriorityStudentWeights

Student weight is spread equally among student's course requests. Only alternatives have lower weight. The rest is inherited from PriorityStudentWeights.

Version:
StudentSct 1.2 (Student Sectioning)
Copyright (C) 2007 - 2010 Tomas Muller
muller@unitime.org
http://muller.unitime.org

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses/.

Nested Class Summary
 
Nested classes/interfaces inherited from interface net.sf.cpsolver.studentsct.weights.StudentWeights
StudentWeights.Implementation
 
Field Summary
 
Fields inherited from class net.sf.cpsolver.studentsct.weights.PriorityStudentWeights
iAlternativeRequestFactor, iBalancingFactor, iDistanceConflict, iFirstAlternativeFactor, iLeftoverSpread, iPriorityFactor, iProjectedStudentWeight, iSecondAlternativeFactor, iTimeOverlapFactor, iTimeOverlapMaxLimit
 
Constructor Summary
EqualStudentWeights(DataProperties config)
           
 
Method Summary
 double getWeight(Request request)
           
 boolean isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution)
          Compares two solutions.
 boolean isFreeTimeAllowOverlaps()
          Return true if free time requests allow overlaps
static void main(String[] args)
          Test case -- run to see the weights for a few courses
 
Methods inherited from class net.sf.cpsolver.studentsct.weights.PriorityStudentWeights
getBound, getCachedWeight, getDistanceConflictWeight, getTimeOverlapConflictWeight, getWeight, getWeight, round
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EqualStudentWeights

public EqualStudentWeights(DataProperties config)
Method Detail

getWeight

public double getWeight(Request request)
Overrides:
getWeight in class PriorityStudentWeights

isBetterThanBestSolution

public boolean isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution)
Description copied from interface: SolutionComparator
Compares two solutions. Returns true if the given solution is better than its best ever found solution (see Solution.saveBest() and Solution.restoreBest()).

Specified by:
isBetterThanBestSolution in interface SolutionComparator<Request,Enrollment>
Overrides:
isBetterThanBestSolution in class PriorityStudentWeights
Parameters:
currentSolution - given solution
Returns:
true if the given solution is better than the best ever found solution

isFreeTimeAllowOverlaps

public boolean isFreeTimeAllowOverlaps()
Description copied from interface: StudentWeights
Return true if free time requests allow overlaps

Specified by:
isFreeTimeAllowOverlaps in interface StudentWeights
Overrides:
isFreeTimeAllowOverlaps in class PriorityStudentWeights

main

public static void main(String[] args)
Test case -- run to see the weights for a few courses



Copyright © 2014 UniTime LLC. All Rights Reserved.