SpectralProjectedGradient

class SpectralProjectedGradient[T](val projection: T => T, tolerance: Double, suffDec: Double, fvalMemory: Int, alphaMax: Double, alphaMin: Double, bbMemory: Int, maxIter: Int, val initFeas: Boolean, val curvilinear: Boolean, val bbType: Int, val maxSrcht: Int)(implicit space: MutableVectorField[T, Double]) extends FirstOrderMinimizer[T, DiffFunction[T]] with Projecting[T] with SerializableLogging

SPG is a Spectral Projected Gradient minimizer; it minimizes a differentiable function subject to the optimum being in some set, given by the projection operator projection

Type Params
T

vector type

Value Params
alphaMax

longest step

alphaMin

shortest step

bbMemory

number of history entries for linesearch

curvilinear

if curvilinear true, do the projection inside line search in place of doing it in chooseDescentDirection

initFeas

is the initial guess feasible, or should it be projected?

maxIter

maximum number of iterations

maxSrcht

maximum number of iterations inside line search

projection

projection operations

suffDec

sufficient decrease parameter

tolerance

termination criterion: tolerance for norm of projected gradient

trait Projecting[T]
trait Serializable
trait Minimizer[T, DiffFunction[T]]
class Object
trait Matchable
class Any

Type members

Classlikes

case class History(alphaBB: Double, fvals: IndexedSeq[Double])

Inherited types

type State = State[T, Info, History]
Inherited from
FirstOrderMinimizer

Value members

Inherited methods

def infiniteIterations(f: DiffFunction[T], state: State): Iterator[State]
Inherited from
FirstOrderMinimizer
def iterations(f: DiffFunction[T], init: T): Iterator[State]
Inherited from
FirstOrderMinimizer
protected def logger: LazyLogger
Inherited from
SerializableLogging
def minimize(f: DiffFunction[T], init: T): T
Inherited from
FirstOrderMinimizer
def projectedVector(x: T, g: T)(implicit vspace: Module[T, Double]): T
Inherited from
Projecting

Concrete fields

val bbType: Int
val curvilinear: Boolean
val initFeas: Boolean
val maxSrcht: Int
val projection: T => T

Inherited fields