LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
WorkflowResult.m
1classdef WorkflowResult < handle
2 % WorkflowResult Result from a decomposed workflow optimization. Mirrors
3 % native-Python line_solver.opt.results.WorkflowResult.
4
5 properties
6 finalObjective = inf;
7 subproblemResults % Map name -> opt.SubProblemResult
8 cyclesCompleted = 0;
9 converged = false;
10 totalSolveTime = 0.0;
11 objectiveHistory = [];
12 finalVariableValues % Map name -> value
13 % LQN layer-wise decomposition diagnostics (solveLayered): the final
14 % frozen layer set and the total LINE solve count.
15 frozenLayers = {};
16 modelEvaluations = 0;
17 end
18
19 methods
20 function obj = WorkflowResult()
21 obj.subproblemResults = containers.Map('KeyType', 'char', 'ValueType', 'any');
22 obj.finalVariableValues = containers.Map('KeyType', 'char', 'ValueType', 'any');
23 end
24
25 function tf = isConverged(obj)
26 tf = obj.converged;
27 end
28 function r = getSubProblemResult(obj, name)
29 if isKey(obj.subproblemResults, name), r = obj.subproblemResults(name); else, r = []; end
30 end
31 function v = getFinalVariableValue(obj, name)
32 if isKey(obj.finalVariableValues, name), v = obj.finalVariableValues(name); else, v = []; end
33 end
34 end
35end