public class ProblemFactory
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
ProblemFactory()
hide the constructor
|
Modifier and Type | Method and Description |
---|---|
static Problem |
getAcceleratingProblem(java.util.List<Variable> variables,
Scorer scorer,
double minScore,
double maxScore,
double endSlope)
Generate a problem which uses an accelerating satisfaction curve over the specified score range
|
static Problem |
getDeceleratingProblem(java.util.List<Variable> variables,
Scorer scorer,
double minScore,
double maxScore,
double startSlope)
Generate a problem which uses a decelerating satisfaction curve over the specified score range
|
static Problem |
getInverseSquareMaximizerProblem(java.util.List<Variable> variables,
Scorer scorer,
double tolerance)
Generate a problem which seeks to maximize the score which is in a range of zero to infinity
|
static Problem |
getInverseSquareMinimizerProblem(java.util.List<Variable> variables,
Scorer scorer,
double tolerance)
Generate a problem which seeks to minimize the score which is in a range of zero to infinity
|
static Problem |
getLinearMaximizerProblem(java.util.List<Variable> variables,
Scorer scorer,
double minScore,
double maxScore)
Generate a problem which uses a linear rising satisfaction curve over the specified score range
|
static Problem |
getLinearMinimizerProblem(java.util.List<Variable> variables,
Scorer scorer,
double minScore,
double maxScore)
Generate a problem which uses a linear falling satisfaction curve over the specified score range
|
static Problem |
getSCurveProblem(java.util.List<Variable> variables,
Scorer scorer,
double slope)
Generate a problem which uses an S-curve satisfaction curve over the range of negative infinity to positive infinity with center at zero
|
static Problem |
getSCurveProblem(java.util.List<Variable> variables,
Scorer scorer,
double center,
double slope)
Generate a problem which uses an S-curve satisfaction curve over the range of negative infinity to positive infinity
|
public static Problem getInverseSquareMinimizerProblem(java.util.List<Variable> variables, Scorer scorer, double tolerance)
variables
- the variablesscorer
- the scorertolerance
- the score corresponding to 90% satisfactionpublic static Problem getInverseSquareMaximizerProblem(java.util.List<Variable> variables, Scorer scorer, double tolerance)
variables
- the variablesscorer
- the scorertolerance
- the score corresponding to 90% satisfactionpublic static Problem getSCurveProblem(java.util.List<Variable> variables, Scorer scorer, double slope)
variables
- the variablesscorer
- the scorerslope
- the slope of the satisfaction curve at the centerpublic static Problem getSCurveProblem(java.util.List<Variable> variables, Scorer scorer, double center, double slope)
variables
- the variablesscorer
- the scorercenter
- the center value of the satisfaction curveslope
- the slope of the satisfaction curve at the centerpublic static Problem getLinearMaximizerProblem(java.util.List<Variable> variables, Scorer scorer, double minScore, double maxScore)
variables
- the variablesscorer
- the scorerminScore
- the minimum scoremaxScore
- the maximum scorepublic static Problem getLinearMinimizerProblem(java.util.List<Variable> variables, Scorer scorer, double minScore, double maxScore)
variables
- the variablesscorer
- the scorerminScore
- the minimum scoremaxScore
- the maximum scorepublic static Problem getAcceleratingProblem(java.util.List<Variable> variables, Scorer scorer, double minScore, double maxScore, double endSlope)
variables
- the variablesscorer
- the scorerminScore
- the minimum scoremaxScore
- the maximum scoreendSlope
- the slope of the satisfaction curve at the maximum scorepublic static Problem getDeceleratingProblem(java.util.List<Variable> variables, Scorer scorer, double minScore, double maxScore, double startSlope)
variables
- the variablesscorer
- the scorerminScore
- the minimum scoremaxScore
- the maximum scorestartSlope
- the slope of the satisfaction curve at the minimum score