From 7739f04a6f51dbf6c5b68f36a4460ddc84a51174 Mon Sep 17 00:00:00 2001 From: Arrowstar Date: Sun, 14 Oct 2018 15:51:47 -0500 Subject: [PATCH] LVD: Added settings to LvdData and populated the various functions with calls to those settings. --- .../classes/@LvdData/LvdData.m | 4 +- .../LvdOptimAlgorithmEnum.m | 21 ++ .../@LvdOptimization/LvdOptimization.m | 4 +- .../Settings/@LvdSettings/LvdSettings.m | 22 ++ .../LaunchVehicleSimulationDriver.m | 41 +++- .../LaunchVehicleDesigner/ma_LvdMainGUI.fig | Bin 77396 -> 80541 bytes .../LaunchVehicleDesigner/ma_LvdMainGUI.m | 202 +++++++++++++++++- 7 files changed, 279 insertions(+), 15 deletions(-) create mode 100644 helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimAlgorithmEnum/LvdOptimAlgorithmEnum.m create mode 100644 helper_methods/ksptot_ma/launch_vehicle_designer/classes/Settings/@LvdSettings/LvdSettings.m diff --git a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/@LvdData/LvdData.m b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/@LvdData/LvdData.m index a5ddc71cf..978aadafc 100644 --- a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/@LvdData/LvdData.m +++ b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/@LvdData/LvdData.m @@ -9,6 +9,7 @@ initStateModel InitialStateModel optimizer LvdOptimization validation LaunchVehicleDataValidation + settings LvdSettings celBodyData struct ksptotVer(1,:) char @@ -21,6 +22,7 @@ methods(Access = private) function obj = LvdData() obj.validation = LaunchVehicleDataValidation(obj); + obj.settings = LvdSettings(); end end @@ -63,7 +65,7 @@ simMaxDur = 20000; minAltitude = -1; - simDriver = LaunchVehicleSimulationDriver(simMaxDur, minAltitude, celBodyData); + simDriver = LaunchVehicleSimulationDriver(lvdData); %Set Up Initial Launch Vehicle lv = LaunchVehicle.createDefaultLaunchVehicle(lvdData); diff --git a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimAlgorithmEnum/LvdOptimAlgorithmEnum.m b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimAlgorithmEnum/LvdOptimAlgorithmEnum.m new file mode 100644 index 000000000..9b5635c7a --- /dev/null +++ b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimAlgorithmEnum/LvdOptimAlgorithmEnum.m @@ -0,0 +1,21 @@ +classdef LvdOptimAlgorithmEnum < matlab.mixin.SetGet + %LvdOptimAlgorithmEnum Summary of this class goes here + % Detailed explanation goes here + + enumeration + InteriorPoint('interior-point'); + SQP('sqp'); + ActiveSet('active-set'); + end + + properties + algoName(1,:) char + end + + methods + function obj = LvdOptimAlgorithmEnum(algoName) + obj.algoName = algoName; + end + end +end + diff --git a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimization/LvdOptimization.m b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimization/LvdOptimization.m index 2db0b8dca..0149ca562 100644 --- a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimization/LvdOptimization.m +++ b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Optimization/@LvdOptimization/LvdOptimization.m @@ -26,8 +26,8 @@ function optimize(obj, writeOutput) typicalX = obj.vars.getTypicalXVector(); nonlcon = @(x) obj.constraints.evalConstraints(x); - optimAlg = 'interior-point'; - usePara = true; + optimAlg = obj.lvdData.settings.optAlgo.algoName; + usePara = obj.lvdData.settings.optUsePara; options = optimoptions('fmincon','Algorithm',optimAlg, 'Diagnostics','on', 'Display','iter-detailed','TolFun',1E-10,'TolX',1E-10,'TolCon',1E-10,'ScaleProblem','obj-and-constr','TypicalX',typicalX,'MaxIter',500,'UseParallel',usePara,'OutputFcn',[],'HonorBounds',true,'MaxFunctionEvaluations',3000, 'FunValCheck','on'); problem = createOptimProblem('fmincon', 'objective',objFuncWrapper, 'x0', x0All, 'lb', lbAll, 'ub', ubAll, 'nonlcon', nonlcon, 'options', options); diff --git a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Settings/@LvdSettings/LvdSettings.m b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Settings/@LvdSettings/LvdSettings.m new file mode 100644 index 000000000..56e2e5ecd --- /dev/null +++ b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Settings/@LvdSettings/LvdSettings.m @@ -0,0 +1,22 @@ +classdef LvdSettings < matlab.mixin.SetGet + %LvdSettings Summary of this class goes here + % Detailed explanation goes here + + properties + %integration + intAbsTol(1,1) double = 1E-6; + intRelTol(1,1) double = 1E-6; + minAltitude(1,1) double = -1; %km + simMaxDur(1,1) double = 20000; %sec + + %optimization + optUsePara(1,1) logical = false; + optAlgo LvdOptimAlgorithmEnum = LvdOptimAlgorithmEnum.InteriorPoint + end + + methods + function obj = LvdSettings() + + end + end +end \ No newline at end of file diff --git a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Simulation/@LaunchVehicleSimulationDriver/LaunchVehicleSimulationDriver.m b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Simulation/@LaunchVehicleSimulationDriver/LaunchVehicleSimulationDriver.m index 8e3cba536..278f8b61c 100644 --- a/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Simulation/@LaunchVehicleSimulationDriver/LaunchVehicleSimulationDriver.m +++ b/helper_methods/ksptot_ma/launch_vehicle_designer/classes/Simulation/@LaunchVehicleSimulationDriver/LaunchVehicleSimulationDriver.m @@ -1,22 +1,45 @@ classdef LaunchVehicleSimulationDriver < matlab.mixin.SetGet - %LaunchVehicleSimulationDrive Summary of this class goes here + %LaunchVehicleSimulationDriver Summary of this class goes here % Detailed explanation goes here properties forceModel(1,1) AbstractForceModel = TotalForceModel(); integrator(1,1) function_handle = @ode45; - simMaxDur(1,1) double = 600; %sec - minAltitude = -1; %km - + lvdData LvdData + end + + properties(Dependent) + relTol(1,1) double + absTol(1,1) double + simMaxDur(1,1) double + minAltitude(1,1) double celBodyData(1,1) struct end methods - function obj = LaunchVehicleSimulationDriver(simMaxDur, minAltitude, celBodyData) - obj.simMaxDur = simMaxDur; - obj.minAltitude = minAltitude; - obj.celBodyData = celBodyData; + function obj = LaunchVehicleSimulationDriver(lvdData) + obj.lvdData = lvdData; + end + + function value = get.relTol(obj) + value = obj.lvdData.settings.intRelTol; + end + + function value = get.absTol(obj) + value = obj.lvdData.settings.intAbsTol; + end + + function value = get.simMaxDur(obj) + value = obj.lvdData.settings.simMaxDur; + end + + function value = get.minAltitude(obj) + value = obj.lvdData.settings.minAltitude; + end + + function value = get.celBodyData(obj) + value = obj.lvdData.celBodyData; end function [t,y,newStateLogEntries] = integrateOneEvent(obj, event, eventInitStateLogEntry) @@ -30,7 +53,7 @@ odefun = @(t,y) obj.odefun(t,y, obj, eventInitStateLogEntry, dryMass); odeEventsFun = @(t,y) obj.odeEvents(t,y, obj, eventInitStateLogEntry, event.termCond.getEventTermCondFuncHandle()); odeOutputFun = @(t,y,flag) obj.odeOutput(t,y,flag, now()*86400); - options = odeset('RelTol',1E-6, 'AbsTol',1E-6, 'NonNegative',tankStateInds, 'Events',odeEventsFun, 'NormControl','on', 'OutputFcn',odeOutputFun); + options = odeset('RelTol',obj.relTol, 'AbsTol',obj.absTol, 'NonNegative',tankStateInds, 'Events',odeEventsFun, 'NormControl','on', 'OutputFcn',odeOutputFun); [value,isterminal,~] = odeEventsFun(tspan(1), y0); if(any(abs(value)<=1E-6)) diff --git a/kspTOT_MissionArchitect/LaunchVehicleDesigner/ma_LvdMainGUI.fig b/kspTOT_MissionArchitect/LaunchVehicleDesigner/ma_LvdMainGUI.fig index 5edb44433114a2a01f662ce8c8a0706ead73567d..23ddf7cc44f6c28dd8e9fe36be2bfea3f0ac4464 100644 GIT binary patch delta 55374 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 diff --git a/kspTOT_MissionArchitect/LaunchVehicleDesigner/ma_LvdMainGUI.m b/kspTOT_MissionArchitect/LaunchVehicleDesigner/ma_LvdMainGUI.m index 03d480479..b8408dfb1 100644 --- a/kspTOT_MissionArchitect/LaunchVehicleDesigner/ma_LvdMainGUI.m +++ b/kspTOT_MissionArchitect/LaunchVehicleDesigner/ma_LvdMainGUI.m @@ -22,7 +22,7 @@ % Edit the above text to modify the response to help ma_LvdMainGUI -% Last Modified by GUIDE v2.5 14-Oct-2018 14:43:52 +% Last Modified by GUIDE v2.5 14-Oct-2018 15:17:09 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; @@ -895,31 +895,227 @@ function optimSettingsMenu_Callback(hObject, eventdata, handles) % hObject handle to optimSettingsMenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + parallelOptim = lvdData.settings.optUsePara; + if(parallelOptim==true) + set(handles.optUseParaMenu, 'Checked', 'on'); + else + set(handles.optUseParaMenu, 'Checked', 'off'); + end % -------------------------------------------------------------------- function optAlgorithmMenu_Callback(hObject, eventdata, handles) % hObject handle to optAlgorithmMenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + optAlgo = lvdData.settings.optAlgo; + switch optAlgo + case LvdOptimAlgorithmEnum.InteriorPoint + set(handles.optInteriorPointAlgoMenu, 'Checked', 'on'); + set(handles.optSqpAlgoMenu, 'Checked', 'off'); + set(handles.optActiveSetAlgoMenu, 'Checked', 'off'); + case LvdOptimAlgorithmEnum.SQP + set(handles.optInteriorPointAlgoMenu, 'Checked', 'off'); + set(handles.optSqpAlgoMenu, 'Checked', 'on'); + set(handles.optActiveSetAlgoMenu, 'Checked', 'off'); + case LvdOptimAlgorithmEnum.ActiveSet + set(handles.optInteriorPointAlgoMenu, 'Checked', 'off'); + set(handles.optSqpAlgoMenu, 'Checked', 'off'); + set(handles.optActiveSetAlgoMenu, 'Checked', 'on'); + otherwise + error('Unknown optimization algorithm when setting menu checkmark.'); + end % -------------------------------------------------------------------- function optUseParaMenu_Callback(hObject, eventdata, handles) % hObject handle to optUseParaMenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) - + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + if strcmp(get(gcbo, 'Checked'),'on') + set(gcbo, 'Checked', 'off'); + lvdData.settings.optUsePara = false; + writeOutput('Parallel optimization mode disabled.','append'); + else + set(gcbo, 'Checked', 'on'); + lvdData.settings.optUsePara = true; + + drawnow; + p = gcp('nocreate'); + if(isempty(p)) + try + h = msgbox('Attempting to start parallel computing workers. Please wait...'); + pp=parpool('local',feature('numCores')); + pp.IdleTimeout = 99999; %we don't want the pool to shutdown + if(isvalid(h)) + close(h); + end + writeOutput('Parallel optimization mode enabled.','append'); + catch ME %#ok + if(ishandle(h)) + close(h); + end + msgbox('Parallel mode start failed. Optimization will run in serial.'); + end + else + writeOutput('Parallel optimization mode enabled.','append'); + end + end % -------------------------------------------------------------------- function integrationAbsTolMenu_Callback(hObject, eventdata, handles) % hObject handle to integrationAbsTolMenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) - + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + input_str = sprintf(['Enter the desired integration absolute error tolerance:\n',... + '(Minimum = 1E-14, Maximum = 1E-2)\n',... + '(This will influence script execution speed.)']); + str = inputdlg(input_str, 'Absolute Error Tolerance', [1 75], {num2str(lvdData.settings.intAbsTol,'%6.6E')}); + if(isempty(str)) + return; + end + + str = str{1}; + + if(checkStrIsNumeric(str) && str2double(str) >= 1E-14 && str2double(str) <= 1E-2) + writeOutput(sprintf('Setting integration absolute error tolerance to %s.', str),'append'); + + lvdData.settings.intAbsTol = str2double(str); + + runScript(handles, lvdData); + lvd_processData(handles); + else + writeOutput(sprintf('Could not set the desired integration absolute error tolerance. "%s" is an invalid entry.', str),'append'); + beep; + end % -------------------------------------------------------------------- function integrationRelTolMenu_Callback(hObject, eventdata, handles) % hObject handle to integrationRelTolMenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + input_str = sprintf(['Enter the desired integration relative error tolerance:\n',... + '(Minimum = 1E-14, Maximum = 1E-2)\n',... + '(This will influence script execution speed.)']); + str = inputdlg(input_str, 'Relative Error Tolerance', [1 75], {num2str(lvdData.settings.intRelTol,'%6.6E')}); + if(isempty(str)) + return; + end + + str = str{1}; + + if(checkStrIsNumeric(str) && str2double(str) >= 1E-14 && str2double(str) <= 1E-2) + writeOutput(sprintf('Setting integration relative error tolerance to %s.', str),'append'); + + lvdData.settings.intRelTol = str2double(str); + + runScript(handles, lvdData); + lvd_processData(handles); + else + writeOutput(sprintf('Could not set the desired integration relative error tolerance. "%s" is an invalid entry.', str),'append'); + beep; + end + +% -------------------------------------------------------------------- +function intMinAltitudeMenu_Callback(hObject, eventdata, handles) +% hObject handle to intMinAltitudeMenu (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + input_str = sprintf(['Enter the desired minimum integration altitude (km):\n',... + '(Minimum = -Inf km, Maximum = 0 km)\n', ... + '(Script execution stops if the vehicle reaches this altitude.)']); + str = inputdlg(input_str, 'Minimum Integration Altitude', [1 75], {fullAccNum2Str(lvdData.settings.minAltitude)}); + if(isempty(str)) + return; + end + + str = str{1}; + + if(checkStrIsNumeric(str) && str2double(str) >= -Inf && str2double(str) <= 0.0) + writeOutput(sprintf('Setting minimum integration altitude to %s km.', str),'append'); + + lvdData.settings.minAltitude = str2double(str); + + runScript(handles, lvdData); + lvd_processData(handles); + else + writeOutput(sprintf('Could not set the desired minimum integration altitude. "%s" is an invalid entry.', str),'append'); + beep; + end + +% -------------------------------------------------------------------- +function intMaxSimTimeMenu_Callback(hObject, eventdata, handles) +% hObject handle to intMaxSimTimeMenu (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + input_str = sprintf(['Enter the desired maximum simulation time (sec):\n',... + '(Minimum = 0.0 sec, Maximum = Inf sec)\n', ... + '(Script execution stops if the duration of the mission exceeds this value.)']); + str = inputdlg(input_str, 'Maximum Simulation Time', [1 75], {fullAccNum2Str(lvdData.settings.simMaxDur)}); + if(isempty(str)) + return; + end + + str = str{1}; + + if(checkStrIsNumeric(str) && str2double(str) >= 0 && str2double(str) <= Inf) + writeOutput(sprintf('Setting maximum simulation time to %s sec.', str),'append'); + + lvdData.settings.simMaxDur = str2double(str); + + runScript(handles, lvdData); + lvd_processData(handles); + else + writeOutput(sprintf('Could not set the desired maximum simulation time. "%s" is an invalid entry.', str),'append'); + beep; + end + +% -------------------------------------------------------------------- +function optInteriorPointAlgoMenu_Callback(hObject, eventdata, handles) +% hObject handle to optInteriorPointAlgoMenu (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + lvdData.settings.optAlgo = LvdOptimAlgorithmEnum.InteriorPoint; + writeOutput('Optimization algorithm changed to interior point.','append'); + +% -------------------------------------------------------------------- +function optSqpAlgoMenu_Callback(hObject, eventdata, handles) +% hObject handle to optSqpAlgoMenu (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + lvdData.settings.optAlgo = LvdOptimAlgorithmEnum.SQP; + writeOutput('Optimization algorithm changed to SQP.','append'); + +% -------------------------------------------------------------------- +function optActiveSetAlgoMenu_Callback(hObject, eventdata, handles) +% hObject handle to optActiveSetAlgoMenu (see GCBO) +% eventdata reserved - to be defined in a future version of MATLAB +% handles structure with handles and user data (see GUIDATA) + lvdData = getappdata(handles.ma_LvdMainGUI,'lvdData'); + writeOutput = getappdata(handles.ma_LvdMainGUI,'write_to_output_func'); + + lvdData.settings.optAlgo = LvdOptimAlgorithmEnum.ActiveSet; + writeOutput('Optimization algorithm changed to active set.','append'); \ No newline at end of file