Launch vehicle example problem

97 views
Skip to first unread message

MAZ...@yandex.ru

unread,
May 11, 2017, 9:02:23 AM5/11/17
to PSOPT users group
I am trying to adapt the «launch» example to two-stage launch vehicle and have a problem with convergence. I have «maximum number of iteration exceeded» or «Converged to a point of local infeasibility». I don't understand what I am doing wrong. Everything seems ok in accordance to example for 4 stage launch vehicle problem. Energy of launch vehicle is enough to take a demanded orbit. I even have reduced event contraint from 5 to 3, and allow some error:

    problem.phases(iphase).bounds.lower.events(1)     = af-50000;
    problem.phases(iphase).bounds.lower.events(2)     = ef;
    problem.phases(iphase).bounds.lower.events(3)     = incf-0.2*pi/180;
    
    
    problem.phases(iphase).bounds.upper.events(1)     = af+500000;
    problem.phases(iphase).bounds.upper.events(2)     = ef+0.1;
    problem.phases(iphase).bounds.upper.events(3)     = incf+0.2*pi/180; 

But still have no idea how to overcome it. I attached source file. 

Could somebody help with it? Thanks. 

launch.cxx

MAZ...@yandex.ru

unread,
May 24, 2017, 9:53:26 AM5/24/17
to PSOPT users group
Some strange problems have appeared now. 

I found the mistakes in my last file and then it will become to look like something more relevant. But now it is failng with

**** Run time error
**** To trace this error, set up your debugger to break at
**** function 'error_message', then do a backtrace.
**** A diagnostic message is given below:
**** ====> Infeasible start time bounds supplied by the user in phase 0 <====


**** Run time error
**** To trace this error, set up your debugger to break at
**** function 'error_message', then do a backtrace.
**** A diagnostic message is given below:
**** ====> Wrong matrix dimensions in operator || <====

This problem appeared even if I download my old file from this topic and try to run it. Another examples are work fine, and compilation works fine too. Even the original «launch» example works ok, but when I change parameters, it failed. 

Could somebody try to launch my example on his own machine? Or tell me what this problem could be. 


Some addictional question — is SNOPT really improves perfomance and founds solutions where IPOPT can fail?  
launch.cxx

MAZ...@yandex.ru

unread,
May 25, 2017, 12:49:44 PM5/25/17
to PSOPT users group
I have fixed it this way:

problem.phase[0].bounds.lower.StartTime = 0.0;
problem.phase[0].bounds.upper.StartTime = 0.0; 
problem.phase[1].bounds.lower.StartTime = 152.0;
problem.phase[1].bounds.upper.StartTime = 152.0; 
problem.phase[2].bounds.lower.StartTime = 500.0;
problem.phase[2].bounds.upper.StartTime = 624.0; 

Still don't understand what is going on :)


Reply all
Reply to author
Forward
0 new messages