I have uploaded a new snapshot (rev. 81) to my Solver page. In this release, the most significant change is the support for cell range constraint definition. Well, actually that’s the only visible change since all the other changes are just implementation details.
In my previous snapshot, each constraint entry was used for defining only one constraint. But after some feedback from one user in Belgium I realized that that can be very inconvenient. So I implemented the cell range method. Hopefully I didn’t introduce any new bug with this.
Everybody has a blog these days, so I have decided to have one for myself just so that when someone asks “what’s your blog URL?” I can point to this page.
My on-going project these days is to improve the Optimization Solver component for Calc. Since the day I coded my first solver prototype in Python almost a year ago, this project has come a long way! It was originally just a Python command-line program. Now it’s become a full-fledged C++ UNO component with a pretty functional UI and Calc interface.
Still, it has a lot to improve. For one, my solver at this time only solves a constrained linear model, yet most of real-world problems are unfortunately non-linear. On top of that, the algorithmic complexity also increases when going from linear to non-linear.
For another, the solver is still a Linux only program. Technically speaking, to make it work under other platforms the only thing I’d need to do is recompile the source under those platforms. But given the limited time I have for this project, at this point I’d like to focus on just adding more functionality than worrying about porting to other platforms. Working toward porting is also difficult at this point since I don’t have a development environment set up for other platforms.
Anyhow, porting will be done sooner or later provided there is demand. So, patience, my friend. :-)