I understand that you are doing a global optimization, and thus should naturally arrive at a solution with a ~0 m/s burn on the second leg, but in my tests it was having trouble finding it.
Ok, then I get what you mean, and I see no problem with making it possible, I'll need to touch the PaGMO code as well for this, as this affects the decision vector, and the dimension of the problem as well.
But it makes sense perfectly. I think the approach will be to merge the MGA and MGA-1DSM problems in a more generalized problem. If you want no DSM at all (actually this is equivalent to making DSM time equal 0, where you have a powered flyby), you have MGA. If you allow DSM during any leg, you have MGA-1DSM, and what you ask for, are problems in-between (2^num_legs different problems, all with different dimensionality).
This is actually good, because providing such information speeds up optimization a great deal.
Last edited: