%% NRHO-LLO
clc
clear
close all
load_kernels
load("trasferta_LLO_quotafix_92.mat","X_sqp")

%  ------  input NRHO-LLO  ------
t0 = cspice_str2et('2026-jan-1 00:00:00');                                 % tempo iniziale di riferimento
errH = 5;                                                                  % max errore di quota
errI = 0.5;                                                                % max errore di inclinazione
H = 100;                                                       % quota dell'orbita bassa lunare [km]
inc = 60;
N = 2;                                                                     % numero di impulsi
pop_size = [100,200];                                                      % dimensione popolazione
gen_max = 25;                                                              % massimo numero di generazioni
plt = 1;                                                                   % flag dei plot 
dV_max = 1.2;                                                              % modulo massimo velocità
t_span = 1;                                                           % tempo massimo della trasferta
ref = 2;
% ------ ottimizzazione ------
[X_GA,X_sqp,Inc,Quota,DV_tot,DV,Dt] = ...
  ottimizzazione(t0,@fitness_NRHO_LLO,@vincoli_LLO,H,inc,N,errH,errI, ...
  pop_size,gen_max,dV_max,t_span,plt,ref,X_sqp);

%% NRHO-LEO
clc
clear
close all
load_kernels


%  ------  input NRHO-LEO  ------
t0 = cspice_str2et('2026-jan-1 00:00:00');                                 % tempo iniziale di riferimento
errH = 5;
errI = 0.5;
h = [500,1.2e6];                                                             % quota dell'orbita bassa lunare [km]
inc = [];                                                                  % inclinazione polare [°]
N = 5;                                                                     % numero di impulsi
pop_size = [100,300];                                                             % dimensione popolazione
gen_max = 25;                                                              % massimo numero di generazioni
plt = 1;                                                                   % flag dei plot 
ref = 1;                                                                   % riferimento terra
dV_max = 0.05;                                                                % modulo massimo velocità
t_max = [130,50];                                                          % tempo massimo della trasferta

% ------ ottimizzazione ------
[X_GA,X_sqp,Inc,Quota,DV_tot,DV,Dt] = ...
  ottimizzazione(t0,@fitness_earthmoon,@vincoli_direct,h,inc,N,errH,errI, ...
  pop_size,gen_max,dV_max,t_max,plt,ref);