Generated reference › Solver Options — Control Systems/Optimization
kind: generated#block#control-systems-optimization

Solver Options — Control Systems/Optimization

Control_Systems/Optimization/Solver_Options · 0 input / 0 output port(s) at insert · exports to Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog, PLC Structured Text

Description#

The block's own DESCRIPTION_HTML, rendered verbatim — the same text the config dialog's info panel and the library navigator show. Fix a wrong sentence in the block's .cpp (R-D9), never here.

Solver Options

Control Systems / Optimization

Holds solver options, as MATLAB’s optimoptions does: a solver block of the Optimization family names this block in its Options, and for the run every option set here replaces the solver’s own value of the parameter of the same name – one options block can serve several solvers, as one options object can. An option left at default leaves the solver’s own value, and an option the solver does not have is ignored, as MATLAB ignores an option a solver does not use. Nothing is written into the solver’s saved parameters: the next run without the reference reads its own again. Each ICore solver runs one algorithm, its own, so there is no Algorithm option. It has no ports and computes nothing.

Ports

  • None: a block names it in its Options; nothing is wired to it.

Parameters

  • Optimality Tolerance – default (default), or the first-order optimality a solver stops at (OptimalityTolerance).
  • Step Tolerance – default (default), or the step size a solver stops at (StepTolerance).
  • Function Tolerance – default (default), or the change in the objective a solver stops at (FunctionTolerance).
  • Constraint Tolerance – default (default), or how far a constraint may be violated (ConstraintTolerance).
  • X Tolerance – default (default), or the change in x a solver stops at (TolX of fminsearch, fminbnd, fzero and lsqnonneg).
  • Maximum Iterations – default (default), or the iterations a solver may take (MaxIterations).
  • Maximum Function Evaluations – default (default), or the objective evaluations a solver may make (MaxFunctionEvaluations); also k*numberOfVariables, optimoptions’ own form, k times the number of elements of the solver’s Start Point.
  • Sampling Time (s) – not read: an options carrier runs nothing.

A value that is neither default nor a number stops the run with this block’s name, and so does an Options naming a block that is not a Solver Options block.

Code export

All ten targets: Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog and PLC Structured Text, as a named body that does nothing. The options reach the exported code through the blocks that name it, which export the values they ran with.

Simulink bridge

None (Support::None). The Optimization Toolbox ships no Simulink library and optimoptions is a MATLAB function, so there is no block to map onto; the bridge reports this block rather than dropping it silently.

Notes

  • Stateless: it holds values, read when a run or an export loads the blocks that name it.

Code facts#

FactValue
registered typeControl_Systems/Optimization/Solver_Options
familyControl_Systems/Optimization
solver environment classICoreBlock_0_Control_Systems_1_Optimization_2_Solver_Options
sourcesrc/ICoreBlocks/ICoreBlockLibrary/Blocks/Control_Systems/Optimization/Solver_Options/ICoreBlock_0_Control_Systems_1_Optimization_2_Solver_Options.cpp
headersrc/ICoreBlocks/ICoreBlockLibrary/Blocks/Control_Systems/Optimization/Solver_Options/ICoreBlock_0_Control_Systems_1_Optimization_2_Solver_Options.h
default size on canvas80 × 70 px
ports at insert0 in, 0 out
code generators implementedPython, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog, PLC Structured Text

Ports#

The constructor creates no port explicitly — the port list comes from registerInitialPorts (0 in, 0 out) or from the block's configuration.

Configuration variables#

Config variableDefaultSimulink parameter
Optimality Tolerancedefault—
Step Tolerancedefault—
Function Tolerancedefault—
Constraint Tolerancedefault—
X Tolerancedefault—
Maximum Iterationsdefault—
Maximum Function Evaluationsdefault—

Every block also carries Sampling Time (s) from ICoreBlockSolverEnvironment: zero or less inherits the solver's rate, a positive value runs the block at that period.

supportSupport::None
Simulink path—
port-count rulePortsParam::None
SampleTime parameteryes

Caveat (shown to the user): the Optimization Toolbox ships no Simulink library at all; optimoptions is a MATLAB function, and this block is ICore's own carrier of its values.

Catalog contract: src/ICoreBlocks/ICoreCoder/ICoreCommandSystem/SimulinkBridge/ICoreSimulinkBlockCatalog.h

Description vs code#

The checker has a blind spot here — it could not resolve something (a grouped port bullet, a computed config name), which is reported and never counted as a pass. A reader has to settle it:

  • B0 no sample under docs/generated/samples/ — nothing to cross-check (P8.1)

The verdict above is tools/docs/check_block_descriptions.py (P7.1), which compares LISTS. It cannot read a sentence: "stateless" on a block with a state, an initial-value semantic the recursion does not implement, a "not synthesizable" caveat the HDL banner contradicts. That is the agent audit (P7.3) on BLOCK_DESCRIPTION_AUDIT.md, and this tool's green is not a substitute for one.

Sample results#

No sample run is committed for this block. Samples come from the headless harness (DOCS_PLAN.md P8.1) into docs/generated/samples/; until one exists this block's behaviour is witnessed by the parity and export-verification suites, not by a plot here.