You can subscribe to this list here.
2007 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}
(3) 
_{Sep}

_{Oct}
(9) 
_{Nov}
(57) 
_{Dec}
(17) 

2008 
_{Jan}
(19) 
_{Feb}
(18) 
_{Mar}
(5) 
_{Apr}

_{May}
(4) 
_{Jun}
(1) 
_{Jul}

_{Aug}
(4) 
_{Sep}

_{Oct}
(4) 
_{Nov}

_{Dec}

2009 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}
(2) 
_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

2010 
_{Jan}

_{Feb}

_{Mar}
(2) 
_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

2011 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}
(10) 
_{Nov}
(7) 
_{Dec}

2012 
_{Jan}
(5) 
_{Feb}

_{Mar}

_{Apr}

_{May}
(2) 
_{Jun}
(1) 
_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

2014 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}
(1) 
_{Jul}
(1) 
_{Aug}

_{Sep}

_{Oct}
(1) 
_{Nov}

_{Dec}

2015 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}
(1) 
_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}
(1) 
_{Dec}

2016 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}
(1) 
_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1

2

3

4

5

6

7
(3) 
8

9

10
(2) 
11
(1) 
12
(1) 
13

14
(2) 
15

16

17

18

19
(8) 
20

21

22

23

24

25

26

27

28

29

30

31






From: Edwin Dove <Edwin.Dove@na...>  20071219 21:52:15

John, The "Creating a Report" Tutorial has been added to the GMAT Wiki. For = now it is all text. Pictures will be added later. The following link leads to the tutorial: http://gmat.wiki.sourceforge.net/Creating+a+Report Edwin ________________________________________ From: gmatdevelopersbounces@... [mailto:gmatdevelopersbounces@...] On Behalf Of = Linda Jun Sent: Wednesday, December 12, 2007 10:01 AM To: john.lorah@... Cc: gmatdevelopers@... Subject: Re: [Gmatdevelopers] error using GMAT ephemeris tool John, Thanks for trying the text ephemeris file generating tool. It has been a while since I worked on the tool, but it certainly looks = like it needs some updates to use=A0 ElemementWrappers. I'll take a look what changes I need to make. Linda At 06:57 PM 12/11/2007, John M. Lorah wrote: Hi, =A0 I was trying to use the "Generate Text Ephemeris File" under the "Tool" menu.=A0 I've attached the script I was using.=A0 I also attached = a screen snap (JWST_ephem_error.jpg) of the first error I got after running the script with the green arrow, then going to the Tools menu to make the ephemeris.=A0 I got this error the first time.=A0 I closed everything down to try again.=A0 This time I brought up the ephem tool without running with the green arrow first.=A0 I got the same error = again, then a fatal "Tell Microsoft?" crash. The second file is a screen snap of the panels there. =A0 I'm running the delivered Beta version from the website. Thanks for any help or suggestions. John  Dr. John M. Lorah Flight Dynamics Facility Honeywell Technology Solutions, Inc phone: 3013061756 x201 pager:=A0 3012070207 email:=A0 john.lorah@... office: c/o a.i. solutions, Inc. 10001 Derekwood Lane, Suite 215 Lanham, MD=A0 20706 =A0 = SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Gmatdevelopers mailing list Gmatdevelopers@... https://lists.sourceforge.net/lists/listinfo/gmatdevelopers=20 
From: Steven Hughes <Steven.P.Hughes@na...>  20071219 17:27:06

Darrel J. Conway wrote: > Okay. The current command is "NonlinearConstraint," not > "NonlinearEqualityConstraint," right? yes. I noticed that right after I hit send. > The equality vs inequality is > picked up from the operator, IIRC. > >  DJC > > Steven Hughes wrote: > >> There's a typo in the sequence I sent out that's causing the >> confusion. Below is the correct version Basically, I'm proposing >> updates to existing commands, and not creating new commands. We >> should put a pros and cons list together so we can compare the two >> approaches. >> >> Optimize sqp >> >> % The variables >> Vary sqp(X1 = 1 ...... >> Vary sqp(X2 = 1 ...... >> >> % The cost function >> Cost = (X1  2 )^2 + (X2  2)^2; >> Costgrad(1) = 2*(X1  2); >> Costgrad(2) = 2*(X2  2); >> Minimize sqp(myFunction,Costgrad) >> >> % The constraints >> Constraint = X1 + X2  3; >> JacConstraint(1) = 1; >> JacConstraint(2) = 1; >> NonlinearEqualityConstraint sqp(Constraint = 0, JacConstraint) >> >> EndOptimize >> >> >> Darrel J. Conway wrote: >> >>> Are you thinking we'll replace the NonlinearConstraint command with >>> the EqConstraintJacobian here? Or have it as well? I guess I'm a >>> little confused by the "Constraint = 0" part here  shouldn't that >>> be covered in the NonlinearConstraint command instead? Otherwise, >>> we'd need to be able to put all of the equality constraints into this >>> single line  I don't think that would work because of constraints >>> that are satisfied at different parts of the mission. >>> >>> I'll leave the class diagram alone for now, as far as these bits are >>> concerned  sounds like we have a bit more definition to hash >>> through before updating it. >>> >>> Incidentally, I am getting these messages via the developer's list. >>> It just looks to me like the archives are not updating (or are not >>> updating quickly enough, anyway). >>> >>>  DJC >>> >>> Steven Hughes wrote: >>> >>>> SF is not displaying messages again, sigh. Your original message >>>> does not appear in the mailing list right now. Anyway, here are my >>>> thoughts until we figure out what is going on. >>>> >>>> First what I'm certain of: >>>> 1) The user will have to calculate the semianalytic derivatives >>>> using the math in script feature. User's will need access to the >>>> STM and accelerations to do this. >>>> 2) Finite differencing should be the default derivative setting. >>>> >>>> Now what I'm not certain of: >>>> 1) The syntax for providing derivatives to the solvers. You listed >>>> a few, here's the method I've been thinking of over the last month >>>> or so. (There is an issue with LHS and RHS Jacobians of >>>> Constraints that I haven't resolved yet though). >>>> >>>> Optimize sqp >>>> >>>> % The variables >>>> Vary sqp(X1 = 1 ...... >>>> Vary sqp(X2 = 1 ...... >>>> % The cost function >>>> Cost = (X1  2 )^2 + (X2  2)^2; >>>> Costgrad(1) = 2*(X1  2); >>>> Costgrad(2) = 2*(X2  2); >>>> Minimize sqp(myFunction,Costgrad) >>>> >>>> % The constraints >>>> Constraint = X1 + X2  3; >>>> JacConstraint(1) = 1; >>>> JacConstraint(2) = 1; >>>> EqConstraintJacobian sqp(Constraint = 0, JacConstraint) >>>> >>>> EndOptimize >>>> >>>> Darrel J. Conway wrote: >>>> >>>>> Steve et al.  >>>>> >>>>> Okay, I'm a bit early asking internal optimization scripting >>>>> questions, but here goes anyway. I was cleaning up some of the >>>>> class diagrams  specifically Figure 24.1 in the design spec  >>>>> and noticed that at one point I thought we'd put in the analytic >>>>> gradient and Jacobian data using separate commands, something like >>>>> this: >>>>> >>>>> Optimize sqp >>>>> >>>>> Vary sqp(MyVar = 76543... >>>>> Vary sqp(MyOtherVar = 344567... >>>>> ... >>>>> grad(1) = whatever >>>>> grad(2) = whatever_else >>>>> Minimize sqp(myFunction) >>>>> Gradient sqp(grad) >>>>> % Someone in AZ was too lazy to fill in the constraint >>>>> stuff above >>>>> EqConstraintJacobian sqp(myEqJac) >>>>> IneqConstraintJacobian sqp(theOtherJac) >>>>> >>>>> EndOptimize >>>>> >>>>> We'll also need to put in a mechanism to pull data directly from >>>>> the force model for use in the analytic calculations, of course  >>>>> accelerations, and so forth. I'm thinking that making users >>>>> specify everything this way is too burdensome for many cases, and >>>>> the default should be to use finite differencing. But this >>>>> approach does provide the flexibility to incorporate scripted >>>>> analytic derivatives as an option  we'll need something, since >>>>> we'll never be able to automate analytic calculations for every >>>>> potential cost function. It seems to me that for the analytic >>>>> gradient and Jacobians, we have to have the user build them in >>>>> script. Given that, we can either specify everything on separate >>>>> lines like above (pulled out here): >>>>> >>>>> % Order does not matter here >>>>> Minimize sqp(myFunction) >>>>> Gradient sqp(grad) >>>>> EqConstraintJacobian sqp(myEqJac) >>>>> IneqConstraintJacobian sqp(theOtherJac) >>>>> >>>>> or all as part of a single line: >>>>> >>>>> Minimize sqp(myFunction, {Gradient = grad, EqJacobian = myEqJac, >>>>> IneqJacobian = theOtherJac}) >>>>> >>>>> I'm not sure which I prefer  the latter seems a bit more >>>>> consistent with other scripting to me  but I'd like to stabilize >>>>> the Command class diagram with as much long term information as >>>>> possible (my ulterior motive here). Thoughts? >>>>> >>>>>  DJC >>>>>  >>>>> Darrel J. Conway, Ph.D. Thinking Systems, Inc. >>>>> Senior Scientist and CEO 6441 N Camino Libby >>>>> Phone: (623) 2984530 Tucson, AZ 85718 >>>>> FAX: (520) 2322533 http://www.thinksysinc.com >>>>> djc@... >>>>>  >>>>> >>>>> >>>>>  >>>>> >>>>> SF.Net email is sponsored by: >>>>> Check out the new SourceForge.net Marketplace. >>>>> It's the best place to buy or sell services >>>>> for just about anything Open Source. >>>>> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >>>>> >>>>>  >>>>> >>>>> >>>>> _______________________________________________ >>>>> Gmatdevelopers mailing list >>>>> Gmatdevelopers@... >>>>> https://lists.sourceforge.net/lists/listinfo/gmatdevelopers >>>>> >>>>> >>>> >> > > 
From: Darrel J. Conway <djc@th...>  20071219 17:24:28

Okay. The current command is "NonlinearConstraint," not "NonlinearEqualityConstraint," right? The equality vs inequality is picked up from the operator, IIRC.  DJC Steven Hughes wrote: > > There's a typo in the sequence I sent out that's causing the > confusion. Below is the correct version Basically, I'm proposing > updates to existing commands, and not creating new commands. We > should put a pros and cons list together so we can compare the two > approaches. > > Optimize sqp > > % The variables > Vary sqp(X1 = 1 ...... > Vary sqp(X2 = 1 ...... > > % The cost function > Cost = (X1  2 )^2 + (X2  2)^2; > Costgrad(1) = 2*(X1  2); > Costgrad(2) = 2*(X2  2); > Minimize sqp(myFunction,Costgrad) > > % The constraints > Constraint = X1 + X2  3; > JacConstraint(1) = 1; > JacConstraint(2) = 1; > NonlinearEqualityConstraint sqp(Constraint = 0, JacConstraint) > > EndOptimize > > > Darrel J. Conway wrote: >> Are you thinking we'll replace the NonlinearConstraint command with >> the EqConstraintJacobian here? Or have it as well? I guess I'm a >> little confused by the "Constraint = 0" part here  shouldn't that >> be covered in the NonlinearConstraint command instead? Otherwise, >> we'd need to be able to put all of the equality constraints into this >> single line  I don't think that would work because of constraints >> that are satisfied at different parts of the mission. >> >> I'll leave the class diagram alone for now, as far as these bits are >> concerned  sounds like we have a bit more definition to hash >> through before updating it. >> >> Incidentally, I am getting these messages via the developer's list. >> It just looks to me like the archives are not updating (or are not >> updating quickly enough, anyway). >> >>  DJC >> >> Steven Hughes wrote: >>> >>> SF is not displaying messages again, sigh. Your original message >>> does not appear in the mailing list right now. Anyway, here are my >>> thoughts until we figure out what is going on. >>> >>> First what I'm certain of: >>> 1) The user will have to calculate the semianalytic derivatives >>> using the math in script feature. User's will need access to the >>> STM and accelerations to do this. >>> 2) Finite differencing should be the default derivative setting. >>> >>> Now what I'm not certain of: >>> 1) The syntax for providing derivatives to the solvers. You listed >>> a few, here's the method I've been thinking of over the last month >>> or so. (There is an issue with LHS and RHS Jacobians of >>> Constraints that I haven't resolved yet though). >>> >>> Optimize sqp >>> >>> % The variables >>> Vary sqp(X1 = 1 ...... >>> Vary sqp(X2 = 1 ...... >>> % The cost function >>> Cost = (X1  2 )^2 + (X2  2)^2; >>> Costgrad(1) = 2*(X1  2); >>> Costgrad(2) = 2*(X2  2); >>> Minimize sqp(myFunction,Costgrad) >>> >>> % The constraints >>> Constraint = X1 + X2  3; >>> JacConstraint(1) = 1; >>> JacConstraint(2) = 1; >>> EqConstraintJacobian sqp(Constraint = 0, JacConstraint) >>> >>> EndOptimize >>> >>> Darrel J. Conway wrote: >>>> Steve et al.  >>>> >>>> Okay, I'm a bit early asking internal optimization scripting >>>> questions, but here goes anyway. I was cleaning up some of the >>>> class diagrams  specifically Figure 24.1 in the design spec  >>>> and noticed that at one point I thought we'd put in the analytic >>>> gradient and Jacobian data using separate commands, something like >>>> this: >>>> >>>> Optimize sqp >>>> >>>> Vary sqp(MyVar = 76543... >>>> Vary sqp(MyOtherVar = 344567... >>>> ... >>>> grad(1) = whatever >>>> grad(2) = whatever_else >>>> Minimize sqp(myFunction) >>>> Gradient sqp(grad) >>>> % Someone in AZ was too lazy to fill in the constraint >>>> stuff above >>>> EqConstraintJacobian sqp(myEqJac) >>>> IneqConstraintJacobian sqp(theOtherJac) >>>> >>>> EndOptimize >>>> >>>> We'll also need to put in a mechanism to pull data directly from >>>> the force model for use in the analytic calculations, of course  >>>> accelerations, and so forth. I'm thinking that making users >>>> specify everything this way is too burdensome for many cases, and >>>> the default should be to use finite differencing. But this >>>> approach does provide the flexibility to incorporate scripted >>>> analytic derivatives as an option  we'll need something, since >>>> we'll never be able to automate analytic calculations for every >>>> potential cost function. It seems to me that for the analytic >>>> gradient and Jacobians, we have to have the user build them in >>>> script. Given that, we can either specify everything on separate >>>> lines like above (pulled out here): >>>> >>>> % Order does not matter here >>>> Minimize sqp(myFunction) >>>> Gradient sqp(grad) >>>> EqConstraintJacobian sqp(myEqJac) >>>> IneqConstraintJacobian sqp(theOtherJac) >>>> >>>> or all as part of a single line: >>>> >>>> Minimize sqp(myFunction, {Gradient = grad, EqJacobian = myEqJac, >>>> IneqJacobian = theOtherJac}) >>>> >>>> I'm not sure which I prefer  the latter seems a bit more >>>> consistent with other scripting to me  but I'd like to stabilize >>>> the Command class diagram with as much long term information as >>>> possible (my ulterior motive here). Thoughts? >>>> >>>>  DJC >>>>  >>>> Darrel J. Conway, Ph.D. Thinking Systems, Inc. >>>> Senior Scientist and CEO 6441 N Camino Libby >>>> Phone: (623) 2984530 Tucson, AZ 85718 >>>> FAX: (520) 2322533 http://www.thinksysinc.com >>>> djc@... >>>>  >>>> >>>> >>>>  >>>> >>>> SF.Net email is sponsored by: >>>> Check out the new SourceForge.net Marketplace. >>>> It's the best place to buy or sell services >>>> for just about anything Open Source. >>>> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >>>> >>>>  >>>> >>>> >>>> _______________________________________________ >>>> Gmatdevelopers mailing list >>>> Gmatdevelopers@... >>>> https://lists.sourceforge.net/lists/listinfo/gmatdevelopers >>>> >>> >>> >> > >  Darrel J. Conway, Ph.D. Thinking Systems, Inc. Senior Scientist and CEO 6441 N Camino Libby Phone: (623) 2984530 Tucson, AZ 85718 FAX: (520) 2322533 http://www.thinksysinc.com djc@... 
From: Steven Hughes <Steven.P.Hughes@na...>  20071219 17:16:00

There's a typo in the sequence I sent out that's causing the confusion. Below is the correct version Basically, I'm proposing updates to existing commands, and not creating new commands. We should put a pros and cons list together so we can compare the two approaches. Optimize sqp % The variables Vary sqp(X1 = 1 ...... Vary sqp(X2 = 1 ...... % The cost function Cost = (X1  2 )^2 + (X2  2)^2; Costgrad(1) = 2*(X1  2); Costgrad(2) = 2*(X2  2); Minimize sqp(myFunction,Costgrad) % The constraints Constraint = X1 + X2  3; JacConstraint(1) = 1; JacConstraint(2) = 1; NonlinearEqualityConstraint sqp(Constraint = 0, JacConstraint) EndOptimize Darrel J. Conway wrote: > Are you thinking we'll replace the NonlinearConstraint command with > the EqConstraintJacobian here? Or have it as well? I guess I'm a > little confused by the "Constraint = 0" part here  shouldn't that be > covered in the NonlinearConstraint command instead? Otherwise, we'd > need to be able to put all of the equality constraints into this > single line  I don't think that would work because of constraints > that are satisfied at different parts of the mission. > > I'll leave the class diagram alone for now, as far as these bits are > concerned  sounds like we have a bit more definition to hash through > before updating it. > > Incidentally, I am getting these messages via the developer's list. > It just looks to me like the archives are not updating (or are not > updating quickly enough, anyway). > >  DJC > > Steven Hughes wrote: >> >> SF is not displaying messages again, sigh. Your original message >> does not appear in the mailing list right now. Anyway, here are my >> thoughts until we figure out what is going on. >> >> First what I'm certain of: >> 1) The user will have to calculate the semianalytic derivatives >> using the math in script feature. User's will need access to the STM >> and accelerations to do this. >> 2) Finite differencing should be the default derivative setting. >> >> Now what I'm not certain of: >> 1) The syntax for providing derivatives to the solvers. You listed >> a few, here's the method I've been thinking of over the last month or >> so. (There is an issue with LHS and RHS Jacobians of Constraints >> that I haven't resolved yet though). >> >> Optimize sqp >> >> % The variables >> Vary sqp(X1 = 1 ...... >> Vary sqp(X2 = 1 ...... >> % The cost function >> Cost = (X1  2 )^2 + (X2  2)^2; >> Costgrad(1) = 2*(X1  2); >> Costgrad(2) = 2*(X2  2); >> Minimize sqp(myFunction,Costgrad) >> >> % The constraints >> Constraint = X1 + X2  3; >> JacConstraint(1) = 1; >> JacConstraint(2) = 1; >> EqConstraintJacobian sqp(Constraint = 0, JacConstraint) >> >> EndOptimize >> >> Darrel J. Conway wrote: >>> Steve et al.  >>> >>> Okay, I'm a bit early asking internal optimization scripting >>> questions, but here goes anyway. I was cleaning up some of the >>> class diagrams  specifically Figure 24.1 in the design spec  and >>> noticed that at one point I thought we'd put in the analytic >>> gradient and Jacobian data using separate commands, something like >>> this: >>> >>> Optimize sqp >>> >>> Vary sqp(MyVar = 76543... >>> Vary sqp(MyOtherVar = 344567... >>> ... >>> grad(1) = whatever >>> grad(2) = whatever_else >>> Minimize sqp(myFunction) >>> Gradient sqp(grad) >>> % Someone in AZ was too lazy to fill in the constraint stuff >>> above >>> EqConstraintJacobian sqp(myEqJac) >>> IneqConstraintJacobian sqp(theOtherJac) >>> >>> EndOptimize >>> >>> We'll also need to put in a mechanism to pull data directly from the >>> force model for use in the analytic calculations, of course  >>> accelerations, and so forth. I'm thinking that making users specify >>> everything this way is too burdensome for many cases, and the >>> default should be to use finite differencing. But this approach >>> does provide the flexibility to incorporate scripted analytic >>> derivatives as an option  we'll need something, since we'll never >>> be able to automate analytic calculations for every potential cost >>> function. It seems to me that for the analytic gradient and >>> Jacobians, we have to have the user build them in script. Given >>> that, we can either specify everything on separate lines like above >>> (pulled out here): >>> >>> % Order does not matter here >>> Minimize sqp(myFunction) >>> Gradient sqp(grad) >>> EqConstraintJacobian sqp(myEqJac) >>> IneqConstraintJacobian sqp(theOtherJac) >>> >>> or all as part of a single line: >>> >>> Minimize sqp(myFunction, {Gradient = grad, EqJacobian = myEqJac, >>> IneqJacobian = theOtherJac}) >>> >>> I'm not sure which I prefer  the latter seems a bit more >>> consistent with other scripting to me  but I'd like to stabilize >>> the Command class diagram with as much long term information as >>> possible (my ulterior motive here). Thoughts? >>> >>>  DJC >>>  >>> Darrel J. Conway, Ph.D. Thinking Systems, Inc. >>> Senior Scientist and CEO 6441 N Camino Libby >>> Phone: (623) 2984530 Tucson, AZ 85718 >>> FAX: (520) 2322533 http://www.thinksysinc.com >>> djc@... >>>  >>> >>> >>>  >>> >>> SF.Net email is sponsored by: >>> Check out the new SourceForge.net Marketplace. >>> It's the best place to buy or sell services >>> for just about anything Open Source. >>> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >>> >>>  >>> >>> >>> _______________________________________________ >>> Gmatdevelopers mailing list >>> Gmatdevelopers@... >>> https://lists.sourceforge.net/lists/listinfo/gmatdevelopers >>> >> >> > 
From: Darrel J. Conway <djc@th...>  20071219 17:09:41

Are you thinking we'll replace the NonlinearConstraint command with the EqConstraintJacobian here? Or have it as well? I guess I'm a little confused by the "Constraint = 0" part here  shouldn't that be covered in the NonlinearConstraint command instead? Otherwise, we'd need to be able to put all of the equality constraints into this single line  I don't think that would work because of constraints that are satisfied at different parts of the mission. I'll leave the class diagram alone for now, as far as these bits are concerned  sounds like we have a bit more definition to hash through before updating it. Incidentally, I am getting these messages via the developer's list. It just looks to me like the archives are not updating (or are not updating quickly enough, anyway).  DJC Steven Hughes wrote: > > SF is not displaying messages again, sigh. Your original message does > not appear in the mailing list right now. Anyway, here are my > thoughts until we figure out what is going on. > > First what I'm certain of: > 1) The user will have to calculate the semianalytic derivatives > using the math in script feature. User's will need access to the STM > and accelerations to do this. > 2) Finite differencing should be the default derivative setting. > > Now what I'm not certain of: > 1) The syntax for providing derivatives to the solvers. You listed a > few, here's the method I've been thinking of over the last month or > so. (There is an issue with LHS and RHS Jacobians of Constraints > that I haven't resolved yet though). > > Optimize sqp > > % The variables > Vary sqp(X1 = 1 ...... > Vary sqp(X2 = 1 ...... > % The cost function > Cost = (X1  2 )^2 + (X2  2)^2; > Costgrad(1) = 2*(X1  2); > Costgrad(2) = 2*(X2  2); > Minimize sqp(myFunction,Costgrad) > > % The constraints > Constraint = X1 + X2  3; > JacConstraint(1) = 1; > JacConstraint(2) = 1; > EqConstraintJacobian sqp(Constraint = 0, JacConstraint) > > EndOptimize > > Darrel J. Conway wrote: >> Steve et al.  >> >> Okay, I'm a bit early asking internal optimization scripting >> questions, but here goes anyway. I was cleaning up some of the class >> diagrams  specifically Figure 24.1 in the design spec  and >> noticed that at one point I thought we'd put in the analytic gradient >> and Jacobian data using separate commands, something like this: >> >> Optimize sqp >> >> Vary sqp(MyVar = 76543... >> Vary sqp(MyOtherVar = 344567... >> ... >> grad(1) = whatever >> grad(2) = whatever_else >> Minimize sqp(myFunction) >> Gradient sqp(grad) >> % Someone in AZ was too lazy to fill in the constraint stuff >> above >> EqConstraintJacobian sqp(myEqJac) >> IneqConstraintJacobian sqp(theOtherJac) >> >> EndOptimize >> >> We'll also need to put in a mechanism to pull data directly from the >> force model for use in the analytic calculations, of course  >> accelerations, and so forth. I'm thinking that making users specify >> everything this way is too burdensome for many cases, and the default >> should be to use finite differencing. But this approach does provide >> the flexibility to incorporate scripted analytic derivatives as an >> option  we'll need something, since we'll never be able to automate >> analytic calculations for every potential cost function. It seems to >> me that for the analytic gradient and Jacobians, we have to have the >> user build them in script. Given that, we can either specify >> everything on separate lines like above (pulled out here): >> >> % Order does not matter here >> Minimize sqp(myFunction) >> Gradient sqp(grad) >> EqConstraintJacobian sqp(myEqJac) >> IneqConstraintJacobian sqp(theOtherJac) >> >> or all as part of a single line: >> >> Minimize sqp(myFunction, {Gradient = grad, EqJacobian = myEqJac, >> IneqJacobian = theOtherJac}) >> >> I'm not sure which I prefer  the latter seems a bit more consistent >> with other scripting to me  but I'd like to stabilize the Command >> class diagram with as much long term information as possible (my >> ulterior motive here). Thoughts? >> >>  DJC >>  >> Darrel J. Conway, Ph.D. Thinking Systems, Inc. >> Senior Scientist and CEO 6441 N Camino Libby >> Phone: (623) 2984530 Tucson, AZ 85718 >> FAX: (520) 2322533 http://www.thinksysinc.com >> djc@... >>  >> >>  >> >> SF.Net email is sponsored by: >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services >> for just about anything Open Source. >> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >> >>  >> >> _______________________________________________ >> Gmatdevelopers mailing list >> Gmatdevelopers@... >> https://lists.sourceforge.net/lists/listinfo/gmatdevelopers >> > >  Darrel J. Conway, Ph.D. Thinking Systems, Inc. Senior Scientist and CEO 6441 N Camino Libby Phone: (623) 2984530 Tucson, AZ 85718 FAX: (520) 2322533 http://www.thinksysinc.com djc@... 
From: Steven Hughes <Steven.P.Hughes@na...>  20071219 15:35:18

SF is not displaying emails to the developer list so hopefully this gets posted. Haisam, I recognize that Matlab is expensive software that not everyone has access to. In fact, once I leave the office, I'm one of them... at home I can't use the Matlab interface. In my opinion, there's a more important reason to minimize dependence on Matlab and that is performance. The same could be said of Octave. Many of the features we've implemented, or are currently implementing, are designed to minimize dependence on MATLAB: 1) GMAT has an inline math capability that uses MATLAB's syntax. This capability uses a math parser internal to GMAT to evaluate expressions so there is no need to use MATLAB. 2) We are currently implementing a feature to write your own functions in GMAT. This will be a very powerful new feature. 3) We are evaluating new optimizers so optimization does not require MATLAB's fmincon function. I looked into Octave, and as of 6 months ago, it didn't have an open source optimizer. While Octave supports optimization, you have to obtain proprietary software to use the feature. We currently don't have plans in the schedule to put in an Octave interface. This is not because it would not be useful, rather, it's because with limited resources there are other features such as those above that are more beneficial to implement because they minimize dependence on any external software be it Matlab or Octave. However, if someone in the community were to implement the interface, that would be great! I have two concerns about Octave if the interface is implemented, and perhaps someone can lay them to rest. The first regards stability. I installed Octave on my laptop several months ago and found it very unstable. I couldn't even edit a file without it crashing. I could easily be making a beginners mistake though, or maybe I accidentally downloaded a development version. Does anyone have comments on the stability of Octave? Secondly, GMAT is used to support NASA flight projects, so, we have to be confident that if we use Octave, it is working correctly. I don't have any experience with Octave so I don't know much about how it is validated, and what types of numerical issues it has. Does anyone have any info they could point me to? Steven Hughes wrote: > Here is Haisam's original email: > > Hi Steve: > > I know I asked you this question before but thought it would be good for > the community to contemplate my question. > > Since GMAT is open source I was wondering if there are plans to enable > the use of Octave, an open source application, instead of the > proprietary Matlab ? Is it really appropriate for an open source > application to require Matlab, if one needs that capability? > > http://www.gnu.org/software/octave/  > http://sourceforge.net/project/showfiles.php?group_id=2888&package_id=40078 > > /GNU Octave is a highlevel language, primarily intended for numerical > computations. It provides a convenient command line interface for > solving linear and nonlinear problems numerically, and for performing > other numerical experiments using a language that is *mostly compatible > with Matlab*. It may also be used as a batchoriented language. > / > Regards, > Haisam > > > > > Steven Hughes wrote: > >> I'm forwarding this post from another developer subscriber. Not sure >> why, by his messages are not being posted to the list. >> >>  >> >> Subject: >> Octave instead of Matlab? >> From: >> Haisam Ido <haisam@...> >> Date: >> Fri, 14 Dec 2007 11:11:18 0500 >> To: >> gmatdevelopers@... >> >> To: >> gmatdevelopers@... >> >> >> Hi Steve: >> >> I know I asked you this question before but thought it would be good >> for the community to contemplate my question. >> >> Since GMAT is open source I was wondering if there are plans to enable >> the use of Octave, an open source application, instead of the >> proprietary Matlab ? Is it really appropriate for an open source >> application to require Matlab, if one needs that capability? >> >> http://www.gnu.org/software/octave/  >> http://sourceforge.net/project/showfiles.php?group_id=2888&package_id=40078 >> >> /GNU Octave is a highlevel language, primarily intended for numerical >> computations. It provides a convenient command line interface for >> solving linear and nonlinear problems numerically, and for performing >> other numerical experiments using a language that is *mostly >> compatible with Matlab*. It may also be used as a batchoriented language. >> / >> Regards, >> Haisam >>  >> >>  >> SF.Net email is sponsored by: >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services >> for just about anything Open Source. >> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >>  >> >> _______________________________________________ >> Gmatdevelopers mailing list >> Gmatdevelopers@... >> https://lists.sourceforge.net/lists/listinfo/gmatdevelopers >> >> > > >  > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services > for just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Gmatdevelopers mailing list > Gmatdevelopers@... > https://lists.sourceforge.net/lists/listinfo/gmatdevelopers > > 
From: Steven Hughes <Steven.P.Hughes@na...>  20071219 15:05:03

SF is not displaying messages again, sigh. Your original message does not appear in the mailing list right now. Anyway, here are my thoughts until we figure out what is going on. First what I'm certain of: 1) The user will have to calculate the semianalytic derivatives using the math in script feature. User's will need access to the STM and accelerations to do this. 2) Finite differencing should be the default derivative setting. Now what I'm not certain of: 1) The syntax for providing derivatives to the solvers. You listed a few, here's the method I've been thinking of over the last month or so. (There is an issue with LHS and RHS Jacobians of Constraints that I haven't resolved yet though). Optimize sqp % The variables Vary sqp(X1 = 1 ...... Vary sqp(X2 = 1 ...... % The cost function Cost = (X1  2 )^2 + (X2  2)^2; Costgrad(1) = 2*(X1  2); Costgrad(2) = 2*(X2  2); Minimize sqp(myFunction,Costgrad) % The constraints Constraint = X1 + X2  3; JacConstraint(1) = 1; JacConstraint(2) = 1; EqConstraintJacobian sqp(Constraint = 0, JacConstraint) EndOptimize Darrel J. Conway wrote: > Steve et al.  > > Okay, I'm a bit early asking internal optimization scripting > questions, but here goes anyway. I was cleaning up some of the class > diagrams  specifically Figure 24.1 in the design spec  and noticed > that at one point I thought we'd put in the analytic gradient and > Jacobian data using separate commands, something like this: > > Optimize sqp > > Vary sqp(MyVar = 76543... > Vary sqp(MyOtherVar = 344567... > ... > grad(1) = whatever > grad(2) = whatever_else > Minimize sqp(myFunction) > Gradient sqp(grad) > % Someone in AZ was too lazy to fill in the constraint stuff above > EqConstraintJacobian sqp(myEqJac) > IneqConstraintJacobian sqp(theOtherJac) > > EndOptimize > > We'll also need to put in a mechanism to pull data directly from the > force model for use in the analytic calculations, of course  > accelerations, and so forth. I'm thinking that making users specify > everything this way is too burdensome for many cases, and the default > should be to use finite differencing. But this approach does provide > the flexibility to incorporate scripted analytic derivatives as an > option  we'll need something, since we'll never be able to automate > analytic calculations for every potential cost function. It seems to > me that for the analytic gradient and Jacobians, we have to have the > user build them in script. Given that, we can either specify > everything on separate lines like above (pulled out here): > > % Order does not matter here > Minimize sqp(myFunction) > Gradient sqp(grad) > EqConstraintJacobian sqp(myEqJac) > IneqConstraintJacobian sqp(theOtherJac) > > or all as part of a single line: > > Minimize sqp(myFunction, {Gradient = grad, EqJacobian = myEqJac, > IneqJacobian = theOtherJac}) > > I'm not sure which I prefer  the latter seems a bit more consistent > with other scripting to me  but I'd like to stabilize the Command > class diagram with as much long term information as possible (my > ulterior motive here). Thoughts? > >  DJC >  > Darrel J. Conway, Ph.D. Thinking Systems, Inc. > Senior Scientist and CEO 6441 N Camino Libby > Phone: (623) 2984530 Tucson, AZ 85718 > FAX: (520) 2322533 http://www.thinksysinc.com > djc@... >  > >  > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services > for just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >  > > _______________________________________________ > Gmatdevelopers mailing list > Gmatdevelopers@... > https://lists.sourceforge.net/lists/listinfo/gmatdevelopers > 
From: Darrel J. Conway <djc@th...>  20071219 00:45:26

<!DOCTYPE html PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body bgcolor="#ffffff" text="#000000"> Steve et al. <br> <br> Okay, I'm a bit early asking internal optimization scripting questions, but here goes anyway. I was cleaning up some of the class diagrams  specifically Figure 24.1 in the design spec  and noticed that at one point I thought we'd put in the analytic gradient and Jacobian data using separate commands, something like this:<br> <blockquote>Optimize sqp<br> <br> Vary sqp(MyVar = 76543...<br> Vary sqp(MyOtherVar = 344567...<br> ...<br> grad(1) = whatever<br> grad(2) = whatever_else<br> Minimize sqp(myFunction)<br> Gradient sqp(grad)<br> % Someone in AZ was too lazy to fill in the constraint stuff above<br> EqConstraintJacobian sqp(myEqJac)<br> IneqConstraintJacobian sqp(theOtherJac)<br> <br> EndOptimize <br> </blockquote> We'll also need to put in a mechanism to pull data directly from the force model for use in the analytic calculations, of course  accelerations, and so forth. I'm thinking that making users specify everything this way is too burdensome for many cases, and the default should be to use finite differencing. But this approach does provide the flexibility to incorporate scripted analytic derivatives as an option  we'll need something, since we'll never be able to automate analytic calculations for every potential cost function. It seems to me that for the analytic gradient and Jacobians, we have to have the user build them in script. Given that, we can either specify everything on separate lines like above (pulled out here):<br> <blockquote>% Order does not matter here<br> Minimize sqp(myFunction)<br> Gradient sqp(grad)<br> EqConstraintJacobian sqp(myEqJac)<br> IneqConstraintJacobian sqp(theOtherJac)<br> </blockquote> or all as part of a single line:<br> <blockquote>Minimize sqp(myFunction, {Gradient = grad, EqJacobian = myEqJac, IneqJacobian = theOtherJac})<br> </blockquote> I'm not sure which I prefer  the latter seems a bit more consistent with other scripting to me  but I'd like to stabilize the Command class diagram with as much long term information as possible (my ulterior motive here). Thoughts?<br> <br>  DJC<br> <pre class="mozsignature" cols="72"> Darrel J. Conway, Ph.D. Thinking Systems, Inc. Senior Scientist and CEO 6441 N Camino Libby Phone: (623) 2984530 Tucson, AZ 85718 FAX: (520) 2322533 <a class="moztxtlinkabbreviated" href="http://www.thinksysinc.com">www.thinksysinc.com</a>; <a class="moztxtlinkabbreviated" href="mailto:djc@...">djc@...</a></pre> </body> </html> 
From: Steven Hughes <Steven.P.Hughes@na...>  20071214 19:11:14

Here is Haisam's original email: Hi Steve: I know I asked you this question before but thought it would be good for the community to contemplate my question. Since GMAT is open source I was wondering if there are plans to enable the use of Octave, an open source application, instead of the proprietary Matlab ? Is it really appropriate for an open source application to require Matlab, if one needs that capability? http://www.gnu.org/software/octave/  http://sourceforge.net/project/showfiles.php?group_id=2888&package_id=40078 /GNU Octave is a highlevel language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is *mostly compatible with Matlab*. It may also be used as a batchoriented language. / Regards, Haisam Steven Hughes wrote: > I'm forwarding this post from another developer subscriber. Not sure > why, by his messages are not being posted to the list. > >  > > Subject: > Octave instead of Matlab? > From: > Haisam Ido <haisam@...> > Date: > Fri, 14 Dec 2007 11:11:18 0500 > To: > gmatdevelopers@... > > To: > gmatdevelopers@... > > > Hi Steve: > > I know I asked you this question before but thought it would be good > for the community to contemplate my question. > > Since GMAT is open source I was wondering if there are plans to enable > the use of Octave, an open source application, instead of the > proprietary Matlab ? Is it really appropriate for an open source > application to require Matlab, if one needs that capability? > > http://www.gnu.org/software/octave/  > http://sourceforge.net/project/showfiles.php?group_id=2888&package_id=40078 > > /GNU Octave is a highlevel language, primarily intended for numerical > computations. It provides a convenient command line interface for > solving linear and nonlinear problems numerically, and for performing > other numerical experiments using a language that is *mostly > compatible with Matlab*. It may also be used as a batchoriented language. > / > Regards, > Haisam >  > >  > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services > for just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >  > > _______________________________________________ > Gmatdevelopers mailing list > Gmatdevelopers@... > https://lists.sourceforge.net/lists/listinfo/gmatdevelopers > 
From: Steven Hughes <Steven.P.Hughes@na...>  20071214 19:00:25

I'm forwarding this post from another developer subscriber. Not sure why, by his messages are not being posted to the list. 
From: Linda Jun <linda.o.jun@na...>  20071212 18:17:57

John, Thanks for trying the text ephemeris file generating tool. It has been a while since I worked on the tool, but it certainly looks like it needs some updates to use ElemementWrappers. I'll take a look what changes I need to make. Linda At 06:57 PM 12/11/2007, John M. Lorah wrote: >Hi, > I was trying to use the "Generate Text Ephemeris File" under the >"Tool" menu. I've attached the script I was using. I also attached a >screen snap (JWST_ephem_error.jpg) of the first error I got after >running the script with the green arrow, then going to the Tools menu to >make the ephemeris. I got this error the first time. I closed >everything down to try again. This time I brought up the ephem tool >without running with the green arrow first. I got the same error again, >then a fatal "Tell Microsoft?" crash. The second file is a screen snap >of the panels there. > > I'm running the delivered Beta version from the website. > >Thanks for any help or suggestions. > >John > > > >Dr. John M. Lorah >Flight Dynamics Facility >Honeywell Technology Solutions, Inc >phone: 3013061756 x201 >pager: 3012070207 >email: john.lorah@... >office: >c/o a.i. solutions, Inc. >10001 Derekwood Lane, Suite 215 >Lanham, MD 20706 > > > > > > >SF.Net email is sponsored by: >Check out the new SourceForge.net Marketplace. >It's the best place to buy or sell services for >just about anything Open Source. >http://sourceforge.net/services/buy/index.php >_______________________________________________ >Gmatdevelopers mailing list >Gmatdevelopers@... >https://lists.sourceforge.net/lists/listinfo/gmatdevelopers 
From: John M. Lorah <John.Lorah@ho...>  20071211 23:58:09

Hi, I was trying to use the "Generate Text Ephemeris File" under the "Tool" menu. I've attached the script I was using. I also attached a screen snap (JWST_ephem_error.jpg) of the first error I got after running the script with the green arrow, then going to the Tools menu to make the ephemeris. I got this error the first time. I closed everything down to try again. This time I brought up the ephem tool without running with the green arrow first. I got the same error again, then a fatal "Tell Microsoft?" crash. The second file is a screen snap of the panels there. I'm running the delivered Beta version from the website. Thanks for any help or suggestions. John  Dr. John M. Lorah Flight Dynamics Facility Honeywell Technology Solutions, Inc phone: 3013061756 x201 pager: 3012070207 email: john.lorah@... office: c/o a.i. solutions, Inc. 10001 Derekwood Lane, Suite 215 Lanham, MD 20706 
From: Steven Hughes <Steven.P.Hughes@na...>  20071210 21:51:57

I put a sample script and function file on the Wiki page: http://gmat.wiki.sourceforge.net/FilesForUserFunctionReqs 
From: Steven Hughes <Steven.P.Hughes@na...>  20071210 17:20:02

I've put a very early draft of requirements up on the Wiki: http://gmat.wiki.sourceforge.net/FilesForUserVF13adSolver 
From: Darrel J. Conway <gmat@th...>  20071207 23:41:06

I spent some time working through the vf13 code today  enough to get a start on the solver state machine. It looks to me like the state machine basically works like this (this is actual working code for the vf13 test problem  I just broke their "main" into function calls and renamed lots of stuff to  maybe  make it clear what everything is): retcode = 1; // Used to init vf13ad do { objective = EvaluateObjective(vars); EvaluateConstraints(vars, constraints); EvaluateGradient(vars, gradient); EvaluateConstraintJacobian(vars, cJacobian, varLength); vf13ad_(&numVars, &numConstraints, &numEqConstraints, vars, &objective, gradient, constraints, cJacobian, &varLength, &maxFunctionEvals, &accuracy, &iprint, &retCode, workspace, &workspaceLength, integerWorkspace); } while (retCode == 0); Basically, we evaluate the objective function, evaluate all of the constraints, calculate its gradient vector and the Jacobian of the constraints (via finite differences), and then call vf13ad. Repeat until the optimizer converges (retCode == 1) or sets an error (retCode > 1). This process does fit with GMAT's approach to solvers  we'll need to build the finite difference routines, but they'll be pretty similar to the "run nominal  run pert" code in the Differential Corrector.  Darrel Steven Hughes wrote: > Hey, Looking through the documentation, I don't see where a user sets > the perturbation step size for calculating finite differenced > derivatives using VF13ad. Did you have to provide this info when you > set up the sample problem? > > What I'm wondering is if the solver will handle the finite differencing, > or if we'll have to have GMAT handle it and pass the resulting gradient > vector to the solver. > >  > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Gmatdevelopers mailing list > Gmatdevelopers@... > https://lists.sourceforge.net/lists/listinfo/gmatdevelopers > >   GMAT Architectural Design, Linux Development and Test Team Darrel J. Conway, Ph.D. Thinking Systems, Inc. Senior Scientist and CEO 6441 N Camino Libby Phone: (623) 2984530 Tucson, AZ 85718 FAX: (520) 2322533 http://www.thinksysinc.com djc_at_thinksysinc_dot_com  
From: Darrel J. Conway <gmat@th...>  20071207 16:48:57

My guess is that we need to provide it. I'll dig a bit into the interface to see. Steven Hughes wrote: > Hey, Looking through the documentation, I don't see where a user sets > the perturbation step size for calculating finite differenced > derivatives using VF13ad. Did you have to provide this info when you > set up the sample problem? > > What I'm wondering is if the solver will handle the finite differencing, > or if we'll have to have GMAT handle it and pass the resulting gradient > vector to the solver. > >  > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Gmatdevelopers mailing list > Gmatdevelopers@... > https://lists.sourceforge.net/lists/listinfo/gmatdevelopers > >   GMAT Architectural Design, Linux Development and Test Team Darrel J. Conway, Ph.D. Thinking Systems, Inc. Senior Scientist and CEO 6441 N Camino Libby Phone: (623) 2984530 Tucson, AZ 85718 FAX: (520) 2322533 http://www.thinksysinc.com djc_at_thinksysinc_dot_com  
From: Steven Hughes <Steven.P.Hughes@na...>  20071207 16:45:27

Hey, Looking through the documentation, I don't see where a user sets the perturbation step size for calculating finite differenced derivatives using VF13ad. Did you have to provide this info when you set up the sample problem? What I'm wondering is if the solver will handle the finite differencing, or if we'll have to have GMAT handle it and pass the resulting gradient vector to the solver. 