JuliaMPC / NLOptControl.jl

nonlinear control optimization tool
Other
109 stars 26 forks source link

Julia 1.0+ not supported #24

Closed alexjbuck closed 4 years ago

alexjbuck commented 4 years ago

This is a great tool and I would like to work on porting this over to the current Julia version, at least 1.0+. I'm new to open source contribution, so hopefully this is the correct pathway. I have created a fork to begin the required changes.

huckl3b3rry87 commented 4 years ago

Awesome 👍 thanks!

On Fri, Nov 29, 2019, 9:34 PM alexjbuck notifications@github.com wrote:

This is a great tool and I would like to work on porting this over to the current Julia version, at least 1.0+. I'm new to open source contribution, so hopefully this is the correct pathway. I have created a fork to begin the required changes.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JuliaMPC/NLOptControl.jl/issues/24?email_source=notifications&email_token=AB6TAWTERMM77WTC3W24HTDQWHNKLA5CNFSM4JTEXTIKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H47GOFQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6TAWV5H6VWFK6P3FNHSHDQWHNKLANCNFSM4JTEXTIA .

huckl3b3rry87 commented 4 years ago

I will help with this effort when I can, it it exciting to have another developer.

On Sat, Nov 30, 2019, 12:43 AM Huckleberry Febbo febbo@umich.edu wrote:

Awesome 👍 thanks!

On Fri, Nov 29, 2019, 9:34 PM alexjbuck notifications@github.com wrote:

This is a great tool and I would like to work on porting this over to the current Julia version, at least 1.0+. I'm new to open source contribution, so hopefully this is the correct pathway. I have created a fork to begin the required changes.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JuliaMPC/NLOptControl.jl/issues/24?email_source=notifications&email_token=AB6TAWTERMM77WTC3W24HTDQWHNKLA5CNFSM4JTEXTIKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H47GOFQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6TAWV5H6VWFK6P3FNHSHDQWHNKLANCNFSM4JTEXTIA .

alexjbuck commented 4 years ago

Awesome! I wasn't sure if you were still using/supporting this or not, it had been a few months since the last commit.

huckl3b3rry87 commented 4 years ago

Yeah, I still use it, but without support from the community I don't have time to update for julia 1.0. But I would like to see it maintained and will help in my spare time.

On Mon, Dec 2, 2019, 8:03 PM alexjbuck notifications@github.com wrote:

Awesome! I wasn't sure if you were still using/supporting this or not, it had been a few months since the last commit.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JuliaMPC/NLOptControl.jl/issues/24?email_source=notifications&email_token=AB6TAWWGYODW3XFHG7CLYYTQWXK7FA5CNFSM4JTEXTIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFYACJI#issuecomment-560988453, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6TAWUJLC7NPPMIWGRBX6DQWXK7FANCNFSM4JTEXTIA .

mfalt commented 4 years ago

It would be great if this is upgraded to 1.0. If you have any problems with the PR or any updates that are unclear, I am happy to help you resolve them. I think this package could be very useful. We are already using it as part of a toolchain for a student-lab at our university.

The only thing that I think should be added is something along the lines of https://github.com/JuliaMPC/NLOptControl.jl/issues/5 , I am looking a bit at how to use ModelingToolkit.jl for this.

azev77 commented 4 years ago

@huckl3b3rry87 @alexjbuck @mfalt Guys I just tried Pkg.add("NLOptControl") following the doc & unable to install.

I'm writing a note on optimal control for econ & would be awesome to show off your package. Any idea on a time-line?

FYI: julia> versioninfo() Julia Version 1.3.0 Commit 46ce4d7933 (2019-11-26 06:09 UTC) Platform Info: OS: Windows (x86_64-w64-mingw32) CPU: Intel(R) Xeon(R) CPU E5-1630 v3 @ 3.70GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-6.0.1 (ORCJIT, haswell) Environment: JULIA_EDITOR = "C:\Users\azevelev\AppData\Local\atom\app-1.43.0\atom.exe" -a JULIA_NUM_THREADS = 4

mfalt commented 4 years ago

@azev77 I created a PR (https://github.com/JuliaMPC/NLOptControl.jl/pull/25) that updates to julia 1, but I wans't able to figure out what is going wrong. Since I didn't write the original code, I'm not able to understand all parts. I think we have to wait on @huckl3b3rry87 to see if he can fix the last parts.

huckl3b3rry87 commented 4 years ago

@azev77 you can use it with julia 0.6.4, is there a reason you need the latest version of julia?

@mfalt sorry for the delay on this, I will try to look into this soon

azev77 commented 4 years ago

1 Yeah, I need it for the latest Julia. 2 I'd be happy to contribute a few examples from economics to your docs once it works, if you're interested

huckl3b3rry87 commented 4 years ago

@azev77 sounds good, yeah extra examples are always great

What is your timeline?

azev77 commented 4 years ago

I'm preparing a blog post on Julia for economics. I wanna write it over the next two weeks. (A lot of it is already done.)

I can probably post my current version w/o your package, & update it when your package works.

huckl3b3rry87 commented 4 years ago

@azev77 very cool, I am interested in seeing the application of NLOptControl to economics. Are you designing an algorithm for options trading?

I will try to look at it this weekend

azev77 commented 4 years ago

That would be awesome. I'm writing a post on the advantages of Julia for an Econ audience.

The first example is a routine consumption-saving model every econ student solves (by hand) in grad school. -then I spice it up w/ borrowing constraints (currently I do all this w/ DifferentialEquations.jl, but the NLOptControl interface is sweet!) -then I add endogenous labor & housing choice (with adjustment costs)

The second example is firm profit maximization. Again, starting w/ simplest model, then adding layers.

The third example is the optimal-growth model.

To solve finance problems (such as options trading etc) I need some of the state variables to be stochastic. This is usually done by solving an HJB equation. EconPDEs is amazing for certain problems, but it doesn't handle boundaries well yet.

azev77 commented 4 years ago

@huckl3b3rry87 any luck with this?

huckl3b3rry87 commented 4 years ago

It should be fine

On Fri, Mar 13, 2020, 6:32 AM roiholtzman notifications@github.com wrote:

I have Julia 1.3. Do you think I can install Julia 0.6.4 on my machine as well without conflicting with the 1.3 version I have? (I read somewhere that maybe for versions below 0.7 this can be an issue).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JuliaMPC/NLOptControl.jl/issues/24#issuecomment-598721214, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6TAWVFMV23TLZGWIWZ3ZTRHIYVZANCNFSM4JTEXTIA .

huckl3b3rry87 commented 4 years ago

this should do it https://github.com/JuliaMPC/NLOptControl.jl/pull/30