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 parameters:
T

vector type

Value parameters:
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 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 projection: T => T

Inherited fields