Strategy Base Types
Useful when implementing new strategies.
Imported to namespace by
using NaiveNASlib.Extend
NaiveNASlib.AbstractΔSizeStrategy
— TypeNaiveNASlib.AbstractJuMPΔSizeStrategy
— TypeAbstractJuMPΔSizeStrategy <: AbstractΔSizeStrategy
Abstract type for strategies to change or align the sizes of vertices using JuMP.
NaiveNASlib.DecoratingJuMPΔSizeStrategy
— TypeDecoratingJuMPΔSizeStrategy <: AbstractJuMPΔSizeStrategy
Abstract type for AbstractJuMPΔSizeStrategies
which wants to delegate some parts of the problem formulation to another strategy.
More concretely: If s
is a DecoratingJuMPΔSizeStrategy
then base(s)
will be used unless explicitly stated through dispatch.
NaiveNASlib.base
— Methodbase(s::DecoratingJuMPΔSizeStrategy)
Return the strategy wrapped by s
.
NaiveNASlib.AbstractAfterΔSizeStrategy
— TypeAbstractAfterΔSizeStrategy <: DecoratingJuMPΔSizeStrategy
Abstract base type for strategies which perform actions after size has changed (e.g validation and logging).
NaiveNASlib.AbstractAlignSizeStrategy
— TypeAbstractAlignSizeStrategy
Base type for strategies for how to align size (nin
/nout
) when doing structural mutation.
Note that all strategies are not guaranteed to work in all cases.
Default strategies should however be selected based on case so that things always work out.
NaiveNASlib.AbstractConnectStrategy
— TypeAbstractConnectStrategy
Base type for strategies for how to (re)connect vertices when doing structural mutation.