com.opttek.optquest
Class COptQuestFrontierMultiObjective

java.lang.Object
  extended by com.opttek.optquest.COptQuestObjective
      extended by com.opttek.optquest.COptQuestMultiObjective
          extended by com.opttek.optquest.COptQuestFrontierMultiObjective

public class COptQuestFrontierMultiObjective
extends COptQuestMultiObjective

The COptQuestFrontierMultiObjective allows the user to combine objectives and treat them as a single objective for the optimization. This COptQuestFrontierMultiObjective does not find a single solution, rather it finds the "frontier" defining the trade-offs. The COptQuestFrontierMultiObjective is defined by adding COptQuestObjective objects to the COptQuestFrontierMultiObjective. The COptQuestFrontierMultiObjective object is then added to the COptQuestOptimization. The COptQuestFrontierMultiObjective is evaluated as maximizing an internal measure that changes as the search progresses. This internal measure is used to focus the search to find the points on the frontier.


Nested Class Summary
static class COptQuestFrontierMultiObjective.FRONTIER_HEURISTIC
           
 
Constructor Summary
COptQuestFrontierMultiObjective()
          Default constructor
COptQuestFrontierMultiObjective(java.lang.String name)
          Constructor that assigns a name to the objective
 
Method Summary
 void AddObjective(COptQuestObjective obj)
          Adds the input sub-objective to the COptQuestFrontierMultiObjective
 double GetObjectiveMaximum(COptQuestObjective obj)
          Returns the maximum value that was set for an objective range.
 double GetObjectiveMinimum(COptQuestObjective obj)
          Returns the minimum set for a objective range.
 void SetFrontierSearchHeuristic(COptQuestFrontierMultiObjective.FRONTIER_HEURISTIC heur)
          For internal use.
 void SetFrontierSearchHeuristic(COptQuestFrontierMultiObjective.FRONTIER_HEURISTIC heur, int algorithm)
          For internal use.
 void SetObjectiveRange(COptQuestObjective obj, double min, double max)
          Focuses the frontier search on objective values between min and max.
 
Methods inherited from class com.opttek.optquest.COptQuestMultiObjective
GetObjectiveAt, GetObjectiveCount, GetOptimizationName, GetRequirementAt
 
Methods inherited from class com.opttek.optquest.COptQuestObjective
GetBestFeasible, GetBestValue, GetCurrentFeasible, GetCurrentFeasible, GetCurrentValue, GetCurrentValue, GetName, GetNthBestFeasible, GetNthBestValue, GetReplicationConfidenceLevel, GetReplicationConfidencePercent, GetReplicationConfidenceType, IsLinear, IsMaximize, IsMinimize, SetCurrentValue, SetCurrentValue, SetMaximize, SetMinimize, SetName, SetReplicationConfidence
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

COptQuestFrontierMultiObjective

public COptQuestFrontierMultiObjective()
Default constructor


COptQuestFrontierMultiObjective

public COptQuestFrontierMultiObjective(java.lang.String name)
Constructor that assigns a name to the objective

Parameters:
name -
Method Detail

AddObjective

public void AddObjective(COptQuestObjective obj)
Adds the input sub-objective to the COptQuestFrontierMultiObjective

Parameters:
obj -

SetFrontierSearchHeuristic

public void SetFrontierSearchHeuristic(COptQuestFrontierMultiObjective.FRONTIER_HEURISTIC heur)
For internal use. Sets the multi-objective search to use the defined search heuristic to find the points on the frontier.


SetFrontierSearchHeuristic

public void SetFrontierSearchHeuristic(COptQuestFrontierMultiObjective.FRONTIER_HEURISTIC heur,
                                       int algorithm)
For internal use. Sets the multi-objective search to use the defined search heuristic to find the points on the frontier.


SetObjectiveRange

public void SetObjectiveRange(COptQuestObjective obj,
                              double min,
                              double max)
Focuses the frontier search on objective values between min and max. If you are interested in a particular range for a given objective, set the min and max after the initial run (Optimize()) and then call OptimizeAdditional() to reduce the iterations needed for the search.


GetObjectiveMinimum

public double GetObjectiveMinimum(COptQuestObjective obj)
Returns the minimum set for a objective range.

Parameters:
obj -
Returns:

GetObjectiveMaximum

public double GetObjectiveMaximum(COptQuestObjective obj)
Returns the maximum value that was set for an objective range.

Parameters:
obj -
Returns: