ojalgo-user Mailing List for oj! Algorithms (Page 13)
Mathematics, linear algebra and optimisation
Brought to you by:
apete
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
(1) |
Mar
|
Apr
(14) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
2005 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
(5) |
Sep
|
Oct
(3) |
Nov
(4) |
Dec
(2) |
2007 |
Jan
(8) |
Feb
(1) |
Mar
(2) |
Apr
(11) |
May
(6) |
Jun
|
Jul
(10) |
Aug
(2) |
Sep
|
Oct
(4) |
Nov
|
Dec
(11) |
2008 |
Jan
(22) |
Feb
(4) |
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(6) |
Nov
(17) |
Dec
(5) |
2009 |
Jan
(15) |
Feb
(2) |
Mar
(2) |
Apr
(3) |
May
(4) |
Jun
(5) |
Jul
(9) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(14) |
Dec
|
2010 |
Jan
(3) |
Feb
(5) |
Mar
(2) |
Apr
(19) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2011 |
Jan
|
Feb
(1) |
Mar
(7) |
Apr
(10) |
May
(1) |
Jun
(15) |
Jul
(1) |
Aug
|
Sep
|
Oct
(13) |
Nov
(9) |
Dec
(11) |
2012 |
Jan
|
Feb
(1) |
Mar
(9) |
Apr
(23) |
May
(16) |
Jun
(9) |
Jul
(13) |
Aug
|
Sep
(4) |
Oct
(1) |
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
(12) |
Mar
(7) |
Apr
(24) |
May
|
Jun
(7) |
Jul
(4) |
Aug
|
Sep
(3) |
Oct
(16) |
Nov
(7) |
Dec
(3) |
2014 |
Jan
(22) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
(4) |
Aug
(4) |
Sep
(1) |
Oct
(2) |
Nov
(6) |
Dec
(2) |
2015 |
Jan
(11) |
Feb
(10) |
Mar
(1) |
Apr
(9) |
May
|
Jun
|
Jul
(1) |
Aug
(4) |
Sep
(6) |
Oct
(3) |
Nov
(15) |
Dec
(4) |
2016 |
Jan
(6) |
Feb
|
Mar
(18) |
Apr
(5) |
May
(9) |
Jun
(3) |
Jul
(5) |
Aug
(2) |
Sep
(5) |
Oct
(2) |
Nov
|
Dec
(5) |
2017 |
Jan
(4) |
Feb
(3) |
Mar
|
Apr
|
May
(12) |
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2018 |
Jan
(5) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
|
Jul
(4) |
Aug
(1) |
Sep
(8) |
Oct
|
Nov
|
Dec
(1) |
2019 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Anders P. <an...@op...> - 2013-02-22 11:27:10
|
I have no idea... Are you saying that you define a (mixed) integer linear program, and you get solutions where some integer variables are not at integer values? Did you check the Optimisation.State? Does it indicate that the problem is solved correctly? Can you supply me with a self-contained directly-runnable test case that clearly demonstrates how you do things, what you expect to happen and what actually happens. /Anders On 22 feb 2013, at 12:14, Francisco Verdejo <fra...@gm...> wrote: > Hi friends, > We are using an integer linear programming. All the variables are binary. The problem is that the result of some variables are distinct than 0 and 1. > Why is it? > > Thanks. > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Francisco V. <fra...@gm...> - 2013-02-22 11:14:40
|
Hi friends, We are using an integer linear programming. All the variables are binary. The problem is that the result of some variables are distinct than 0 and 1. Why is it? Thanks. |
From: Anders P. <an...@op...> - 2013-02-19 20:59:01
|
The problem is your covariance matrix. It has this set of eigenvalues: [(0.5492672834435615 + 0.0i), (0.008437331909258683 + 0.0i), (2.4514803398083397E-6 + 0.0i), (1.2790218090583707E-6 + 0.0i), (0.13451737212621906 + 0.0i), (0.11506560932721471 + 0.0i), (0.040501906544593284 + 0.0i), (0.01745967407048038 + 0.0i), (-2.1722469350130856E-6 + 0.0i), (-6.568799450269596E-7 + 0.0i), (-7.879659671549668E-8 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i), (0.0 + 0.0i)] The covariance matrix should not have negative or very small (zero) eigenvalues. Before trusting the results of the MarkowitzModel you should check the optimization state - model.getOptimisationState(); In your case it is FAILED. Calling marketEquilibrium.clean() will fix/clean the covariance matrix. There is not 1 optimal portfolio, there is one per risk aversion value - experiment with different values. /Anders On 19 feb 2013, at 15:09, Sydney <moi...@ho...> wrote: > Hello, > > I am very new to Markowitz Model and I would like to use ojAlgo to plot the efficient frontier of a portfolio. I wrote some code but the result does not seem to be correct. > > My first attempt is to find the optimal portfolio. > > The first example is a portfolio with 3 assets. The result seems correct. But then I tried with 22 assets and some of the weights are negative. The portolio expected return is -10393.07457410003 and the variance is -103930.3518485767. > > I attached the code. I did not set the risk aversion parameter because I don't know what this parameter is for. Do you have an example value if you want to find the optimal portfolio. > > Thanks > Sydney > <MM.java>------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Anders P. <an...@op...> - 2012-11-14 10:37:52
|
Please direct questions like these to the ojAlgo-user mailing list. The MarkowitzModel class does have some javadoc: http://www.ojalgo.org/generated/org/ojalgo/finance/portfolio/MarkowitzModel.html I just now added a constructor that takes a covariance matrix and an expected returns matrix as input. I can imagine users expecting such a constructor. All it does is: public MarkowitzModel(final BasicMatrix covarianceMatrix, final BasicMatrix expectedExcessReturns) { this(new MarketEquilibrium(covarianceMatrix), expectedExcessReturns); } ...and that's what you need to do until you get your hands on a version of ojAlgo that includes that code addition. After you've instantiated the MarkowitzModel you need to do one of three different things: 1) setRiskAversion(Number) 2) setTargetReturn(BigDecimal) 3) setTargetVariance(BigDecimal) Optionally you may setLowerLimit(int, BigDecimal), setUpperLimit(int, BigDecimal) or setShortingAllowed(boolean). To get the optimal asset weighs you simply call getWeights() or getAssetWeights(). /Anders On 14 nov 2012, at 09:57, Omar RIFKI <oma...@gm...> wrote: > Dear Anders Peterson, > > This is Omar Rifki, a research student at the Economic Engineering department of Kyushu University, Japan.. Currently, I am doing some research about portfolio optimization problem and using the library ojAlgo. > > May I ask you a question about how to solve a Markowitz model using ojAlgo. Actually, I didn't find a documentation on internet to how to use the object "MarkozitzModel". The question is: The optimization is done, I suppose, in the method "calculateAssetWeights" (of the class "MarkowitzModel"). However, this method is only called by "toString" and not visible for the outside classes. So, how can we optimize the model outside the box of ojAlgo. In the context that we provide to the constructor of "MarkowitzModel", the methods computing the mean and variance of the overall portfolio, are they necessary to be implemented? > > I thank you very much, for any response and help. > And please if it is possible to have a documentation, it will be very helpful. > > > Best Regards, > > Omar Rifki |
From: Anders P. <an...@op...> - 2012-10-11 13:01:47
|
Development has been slower than usual lately, and it's been a while since there was any kind of bug report - good time to release a new version. http://ojalgo.org/change_log.html http://sourceforge.net/projects/ojalgo/files/ojAlgo/ Development will probably switch to Java 7 soon... /Anders |
From: Anders P. <an...@op...> - 2012-09-25 11:22:30
|
Some time ago I had support for "huge arrays" implemented and done in ojAlgo, but decided NOT to use/include it - just didn't like some of the necessary code changes. Generally ojAlgo supports (2^31 - 1) rows, columns, matrices, cubes.... (standard Java limitation). For some specific use cases the practical limit is data structures with (2^31 - 1) elements regardless of how many dimensions you use to access that structure. As far as I can see now it will stay this way. /Anders On 25 apr 2012, at 13:01, Anders Peterson <an...@op...> wrote: > Currently ojAlgo has an array size limit of 2^31 - 1 which is the limit java has for arrays and collections. Even when you work with 2-dimensional arrays/matrixes or any-dimensional arrays ojAlgo has a limit of 2^31 - 1 elements, instead of having that many rows, columns, planes, cubes... > > Compared to other libraries ojAlgo performs best when the arrays/matrices are a bit larger. I always felt that because of that it's a bit ironic that ojAlgo has a size limitation that some other libraries don't have. > > An array of double with length 2^31 - 1 uses 16GB memory. For a 2-dimensional square matrix the size limit is 46340x46340. Personally I've never been close to this limit with real world ojAlgo usage. > > Currently I'm thinking about adding support for huge "arrays" in ojAlgo, but I hesitate, and it would only be supported with Array1D, Array2D and ArrayAnyD - not with the various MatrixStore implementations. That would be too much of a change. > > The implementation would of course require that some sort of array abstraction is introduced, and that will decrease performance (only when you actually use those huge arrays). > > Anyone have an opinion? If I add this; will you, or anyone you know, be able to do things you cannot do now? > > /Anders |
From: Anders P. <an...@op...> - 2012-09-25 11:08:04
|
On 3 jul 2012, at 11:17, Anders Peterson <an...@op...> wrote: > On 2 jul 2012, at 22:46, Chris Lucas wrote: > >>> Did you find the org.ojalgo.random.process package? Cannot that be adapted or extended to do what you want? >> >> I did find it, but sadly Gaussian processes are somewhat ill-suited to >> the current interface, as I understand it: in a GP, all y are jointly >> normal, where y_{t+1} depends on y_{1...t} via a covariance matrix >> determined by \mathbf{x}_{1...t+1}. In contrast, it seems that the >> interface is best suited for processes where y_{t+1} is independent of >> y_{1...t-1} conditional on y_t, and there's no role for x. Did you try the new GaussianProcess code? http://ojalgo.org/generated/org/ojalgo/random/process/GaussianProcess.html Essentially you feed it a Covariance function implementation: http://ojalgo.org/generated/org/ojalgo/random/process/GaussianField.Covariance.html That function has a calibrate(...) method where you'd do the regression after you've addObservation(...) to the process. /Anders |
From: Anders P. <an...@op...> - 2012-09-20 11:36:14
|
I restarted the application server. You should be able to get a password now. Actually I discovered a whole bunch of problems - with the hosting platform none the least. I'm in the process of fixing a few bugs and changing the hosting. Until that's done it's very easy to break the application. In particular you should not add or remove instruments in the "Define Market". /Anders 20 sep 2012 kl. 12:11 skrev Jicmon Laurentiu <lau...@ya...>: > I cant access http://t-cloud.optimatika.se/ > No email is sent to my adress. > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://ad.doubleclick.net/clk;258768047;13503038;j? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Jicmon L. <lau...@ya...> - 2012-09-20 10:12:06
|
I cant access http://t-cloud.optimatika.se/ No email is sent to my adress. |
From: Anders P. <an...@op...> - 2012-07-27 21:11:08
|
There is no way to add constants, and you don't need them. Adding or subtracting a constant from the objective function wont affect the solution. For constraints a constant would just shift the bound. /Anders On 25 jul 2012, at 17:25, Simon Greaves wrote: > Hi, the links you sent me were very helpful, thank you. > I've figured out almost everything I need. But I don't know how to add a constant element to the objective function. > Using TestOjAlgo.java as a guideline. I'm trying to do this as an example: > > MIN [6 -5 4][X] - const > ST Xi >= 0 i=1,...,3 > > > This is how I'm writing it: > > final Variable[] objective = new Variable[] { new Variable("X").weight(BigDecimal.valueOf(6)), new Variable("Y").weight(BigDecimal.valueOf(5)), new Variable("Z").weight(BigDecimal.valueOf(4)) }; > objective[0].setInteger(true); > objective[1].setInteger(true); > objective[2].setInteger(true); > final ExpressionsBasedModel model = new ExpressionsBasedModel(objective); > > Any help with the -const part? > > SG > > > > > > From: Anders Peterson <an...@op...> > To: ojAlgo ojAlgo <oja...@li...> > Sent: Monday, July 23, 2012 2:02 PM > Subject: Re: [ojAlgo-user] IntegerSolver issue > > Then you've got an old version of ojAlgo. Since v32 ExpessionsBasedModel is no longer abstract (and its previously exiting subclasses have been removed). Get the latest version (I recommend getting the latest snapshot) and have a look at the change log for v32 and the upcoming v33. > > http://ojalgo.org/change_log.html > > /Anders > > > On 23 jul 2012, at 20:03, Simon Greaves wrote: > > > I have read de javadoc for ExpressionsBasedModel, my problem is when I try to build the ExpressionsBasedModel in the same way as in the example in > > http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ > > using: > > ExpressionsBasedModel ebm=new ExpressionsBasedModel(tmpVariables); (tmpVariables is of the type Variable[]) > > > > I get an error saying ExpressionsBasedModel is abstract and cannot be instantiated... > > > > SG > > > > > > > > > > > > From: Anders Peterson <an...@op...> > > To: ojAlgo ojAlgo <oja...@li...> > > Sent: Friday, July 20, 2012 7:03 AM > > Subject: Re: [ojAlgo-user] IntegerSolver issue > > > > You're not the first to ask about ExpressionsBasedModel. That means you should be able to find something useful in the list archives. > > > > http://sourceforge.net/mailarchive/forum.php?forum_name=ojalgo-user > > http://sourceforge.net/search/?group_id=79000&type_of_search=mlists > > > > ...and/or you can look at the junit tests for the integer solver: > > > > http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ > > > > Did you read the javadoc for ExpressionsBasedModel and Expression? > > > > http://ojalgo.org/generated/org/ojalgo/optimisation/ExpressionsBasedModel.html > > http://ojalgo.org/generated/org/ojalgo/optimisation/Expression.html > > > > /Anders > > > > > > On 19 jul 2012, at 23:19, Simon Greaves wrote: > > > > > Hi, my name is Simon > > > I'm trying to use the integer solver in OjAlgo, but I don't understand how to use it. The builder seems to require an ExpressionsBasedModel, which in itself requires a Variable vector. Can you help me out with this? Or point me to an example or documentation regarding this? > > > > > > I'm solving > > > > > > min -[X]T[P] / [C]T[X] > > > and [C]T[X] <= maxCost > > > > > > Where [X] is an integer vector > > > [P] is a vector of real values > > > [C] is a vector of real values > > > maxCost is a real value > > > > > > That is, I want X to maximize [X]T[P] and minimize [C]T[X] while remaining under maxCost > > > > > > > > > > > > > > > > > > > > > I've used the Quadratic solver before, this is how I used it: > > > > > > final QuadraticSolver.Builder tmpBuilder = new QuadraticSolver.Builder(tmpQ, tmpC).equalities(tmpAE, tmpBE).inequalities(tmpAI, tmpBI); > > > final QuadraticSolver tmpSolver = tmpBuilder.build(); > > > final OptimisationSolver.Result tmpResult = tmpSolver.solve(); > > > final BasicMatrix tmpSolution = tmpResult.getSolution(); > > > > > > Where I built the MatrixStore objects using: > > > final MatrixStore<Double> tmpQ = PrimitiveDenseStore.FACTORY.copy(Q); > > > for example... > > > > > > > > > Thanks a lot for any help! > > > > > > S > > > ------------------------------------------------------------------------------ > > > Live Security Virtual Conference > > > Exclusive live event will cover all the ways today's security and > > > threat landscape has changed and how IT managers can respond. Discussions > > > will include endpoint security, mobile security and the latest in malware > > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > > > ojAlgo-user mailing list > > > ojA...@li... > > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > _______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Simon G. <si...@ya...> - 2012-07-27 13:56:58
|
Hi, the links you sent me were very helpful, thank you. I've figured out almost everything I need. But I don't know how to add a constant element to the objective function. Using TestOjAlgo.java as a guideline. I'm trying to do this as an example: MIN [6 -5 4][X] - const ST Xi >= 0 i=1,...,3 This is how I'm writing it: final Variable[] objective = new Variable[] { new Variable("X").weight(BigDecimal.valueOf(6)), new Variable("Y").weight(BigDecimal.valueOf(5)), new Variable("Z").weight(BigDecimal.valueOf(4)) }; objective[0].setInteger(true); objective[1].setInteger(true); objective[2].setInteger(true); final ExpressionsBasedModel model = new ExpressionsBasedModel(objective); Any help with the -const part? SG ________________________________ From: Anders Peterson <an...@op...> To: ojAlgo ojAlgo <oja...@li...> Sent: Monday, July 23, 2012 2:02 PM Subject: Re: [ojAlgo-user] IntegerSolver issue Then you've got an old version of ojAlgo. Since v32 ExpessionsBasedModel is no longer abstract (and its previously exiting subclasses have been removed). Get the latest version (I recommend getting the latest snapshot) and have a look at the change log for v32 and the upcoming v33. http://ojalgo.org/change_log.html /Anders On 23 jul 2012, at 20:03, Simon Greaves wrote: > I have read de javadoc for ExpressionsBasedModel, my problem is when I try to build the ExpressionsBasedModel in the same way as in the example in > http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ > using: > ExpressionsBasedModel ebm=new ExpressionsBasedModel(tmpVariables); (tmpVariables is of the type Variable[]) > > I get an error saying ExpressionsBasedModel is abstract and cannot be instantiated... > > SG > > > > > > From: Anders Peterson <an...@op...> > To: ojAlgo ojAlgo <oja...@li...> > Sent: Friday, July 20, 2012 7:03 AM > Subject: Re: [ojAlgo-user] IntegerSolver issue > > You're not the first to ask about ExpressionsBasedModel. That means you should be able to find something useful in the list archives. > > http://sourceforge.net/mailarchive/forum.php?forum_name=ojalgo-user > http://sourceforge.net/search/?group_id=79000&type_of_search=mlists > > ...and/or you can look at the junit tests for the integer solver: > > http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ > > Did you read the javadoc for ExpressionsBasedModel and Expression? > > http://ojalgo.org/generated/org/ojalgo/optimisation/ExpressionsBasedModel.html > http://ojalgo.org/generated/org/ojalgo/optimisation/Expression.html > > /Anders > > > On 19 jul 2012, at 23:19, Simon Greaves wrote: > > > Hi, my name is Simon > > I'm trying to use the integer solver in OjAlgo, but I don't understand how to use it. The builder seems to require an ExpressionsBasedModel, which in itself requires a Variable vector. Can you help me out with this? Or point me to an example or documentation regarding this? > > > > I'm solving > > > > min -[X]T[P] / [C]T[X] > > and [C]T[X] <= maxCost > > > > Where [X] is an integer vector > > [P] is a vector of real values > > [C] is a vector of real values > > maxCost is a real value > > > > That is, I want X to maximize [X]T[P] and minimize [C]T[X] while remaining under maxCost > > > > > > > > > > > > > > I've used the Quadratic solver before, this is how I used it: > > > > final QuadraticSolver.Builder tmpBuilder = new QuadraticSolver.Builder(tmpQ, tmpC).equalities(tmpAE, tmpBE).inequalities(tmpAI, tmpBI); > > final QuadraticSolver tmpSolver = tmpBuilder.build(); > > final OptimisationSolver.Result tmpResult = tmpSolver.solve(); > > final BasicMatrix tmpSolution = tmpResult.getSolution(); > > > > Where I built the MatrixStore objects using: > > final MatrixStore<Double> tmpQ = PrimitiveDenseStore.FACTORY.copy(Q); > > for example... > > > > > > Thanks a lot for any help! > > > > S > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ ojAlgo-user mailing list ojA...@li... https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Anders P. <an...@op...> - 2012-07-24 08:59:50
|
Among other things it contains new GaussianProcess and PoissonProcess implementations: http://ojalgo.org/generated/org/ojalgo/random/process/GaussianProcess.html http://ojalgo.org/generated/org/ojalgo/random/process/PoissonProcess.html The new code is not tested - not even the most fundamental test is done! You can do that... You cannot (yet) do gaussian process regression. You'll have to feed the process implementation "ready" mean and covariance functions. /Anders |
From: Anders P. <an...@op...> - 2012-07-23 18:33:12
|
Then you've got an old version of ojAlgo. Since v32 ExpessionsBasedModel is no longer abstract (and its previously exiting subclasses have been removed). Get the latest version (I recommend getting the latest snapshot) and have a look at the change log for v32 and the upcoming v33. http://ojalgo.org/change_log.html /Anders On 23 jul 2012, at 20:03, Simon Greaves wrote: > I have read de javadoc for ExpressionsBasedModel, my problem is when I try to build the ExpressionsBasedModel in the same way as in the example in > http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ > using: > ExpressionsBasedModel ebm=new ExpressionsBasedModel(tmpVariables); (tmpVariables is of the type Variable[]) > > I get an error saying ExpressionsBasedModel is abstract and cannot be instantiated... > > SG > > > > > > From: Anders Peterson <an...@op...> > To: ojAlgo ojAlgo <oja...@li...> > Sent: Friday, July 20, 2012 7:03 AM > Subject: Re: [ojAlgo-user] IntegerSolver issue > > You're not the first to ask about ExpressionsBasedModel. That means you should be able to find something useful in the list archives. > > http://sourceforge.net/mailarchive/forum.php?forum_name=ojalgo-user > http://sourceforge.net/search/?group_id=79000&type_of_search=mlists > > ...and/or you can look at the junit tests for the integer solver: > > http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ > > Did you read the javadoc for ExpressionsBasedModel and Expression? > > http://ojalgo.org/generated/org/ojalgo/optimisation/ExpressionsBasedModel.html > http://ojalgo.org/generated/org/ojalgo/optimisation/Expression.html > > /Anders > > > On 19 jul 2012, at 23:19, Simon Greaves wrote: > > > Hi, my name is Simon > > I'm trying to use the integer solver in OjAlgo, but I don't understand how to use it. The builder seems to require an ExpressionsBasedModel, which in itself requires a Variable vector. Can you help me out with this? Or point me to an example or documentation regarding this? > > > > I'm solving > > > > min -[X]T[P] / [C]T[X] > > and [C]T[X] <= maxCost > > > > Where [X] is an integer vector > > [P] is a vector of real values > > [C] is a vector of real values > > maxCost is a real value > > > > That is, I want X to maximize [X]T[P] and minimize [C]T[X] while remaining under maxCost > > > > > > > > > > > > > > I've used the Quadratic solver before, this is how I used it: > > > > final QuadraticSolver.Builder tmpBuilder = new QuadraticSolver.Builder(tmpQ, tmpC).equalities(tmpAE, tmpBE).inequalities(tmpAI, tmpBI); > > final QuadraticSolver tmpSolver = tmpBuilder.build(); > > final OptimisationSolver.Result tmpResult = tmpSolver.solve(); > > final BasicMatrix tmpSolution = tmpResult.getSolution(); > > > > Where I built the MatrixStore objects using: > > final MatrixStore<Double> tmpQ = PrimitiveDenseStore.FACTORY.copy(Q); > > for example... > > > > > > Thanks a lot for any help! > > > > S > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Simon G. <si...@ya...> - 2012-07-23 18:03:49
|
I have read de javadoc for ExpressionsBasedModel, my problem is when I try to build the ExpressionsBasedModel in the same way as in the example in http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ using: ExpressionsBasedModel ebm=new ExpressionsBasedModel(tmpVariables); (tmpVariables is of the type Variable[]) I get an error saying ExpressionsBasedModel is abstract and cannot be instantiated... SG ________________________________ From: Anders Peterson <an...@op...> To: ojAlgo ojAlgo <oja...@li...> Sent: Friday, July 20, 2012 7:03 AM Subject: Re: [ojAlgo-user] IntegerSolver issue You're not the first to ask about ExpressionsBasedModel. That means you should be able to find something useful in the list archives. http://sourceforge.net/mailarchive/forum.php?forum_name=ojalgo-user http://sourceforge.net/search/?group_id=79000&type_of_search=mlists ...and/or you can look at the junit tests for the integer solver: http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ Did you read the javadoc for ExpressionsBasedModel and Expression? http://ojalgo.org/generated/org/ojalgo/optimisation/ExpressionsBasedModel.html http://ojalgo.org/generated/org/ojalgo/optimisation/Expression.html /Anders On 19 jul 2012, at 23:19, Simon Greaves wrote: > Hi, my name is Simon > I'm trying to use the integer solver in OjAlgo, but I don't understand how to use it. The builder seems to require an ExpressionsBasedModel, which in itself requires a Variable vector. Can you help me out with this? Or point me to an example or documentation regarding this? > > I'm solving > > min -[X]T[P] / [C]T[X] > and [C]T[X] <= maxCost > > Where [X] is an integer vector > [P] is a vector of real values > [C] is a vector of real values > maxCost is a real value > > That is, I want X to maximize [X]T[P] and minimize [C]T[X] while remaining under maxCost > > > > > > > I've used the Quadratic solver before, this is how I used it: > > final QuadraticSolver.Builder tmpBuilder = new QuadraticSolver.Builder(tmpQ, tmpC).equalities(tmpAE, tmpBE).inequalities(tmpAI, tmpBI); > final QuadraticSolver tmpSolver = tmpBuilder.build(); > final OptimisationSolver.Result tmpResult = tmpSolver.solve(); > final BasicMatrix tmpSolution = tmpResult.getSolution(); > > Where I built the MatrixStore objects using: > final MatrixStore<Double> tmpQ = PrimitiveDenseStore.FACTORY.copy(Q); > for example... > > > Thanks a lot for any help! > > S > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ ojAlgo-user mailing list ojA...@li... https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Anders P. <an...@op...> - 2012-07-20 11:33:55
|
You're not the first to ask about ExpressionsBasedModel. That means you should be able to find something useful in the list archives. http://sourceforge.net/mailarchive/forum.php?forum_name=ojalgo-user http://sourceforge.net/search/?group_id=79000&type_of_search=mlists ...and/or you can look at the junit tests for the integer solver: http://ojalgo.cvs.sourceforge.net/viewvc/ojalgo/TestProj/src/org/ojalgo/optimisation/integer/ Did you read the javadoc for ExpressionsBasedModel and Expression? http://ojalgo.org/generated/org/ojalgo/optimisation/ExpressionsBasedModel.html http://ojalgo.org/generated/org/ojalgo/optimisation/Expression.html /Anders On 19 jul 2012, at 23:19, Simon Greaves wrote: > Hi, my name is Simon > I'm trying to use the integer solver in OjAlgo, but I don't understand how to use it. The builder seems to require an ExpressionsBasedModel, which in itself requires a Variable vector. Can you help me out with this? Or point me to an example or documentation regarding this? > > I'm solving > > min -[X]T[P] / [C]T[X] > and [C]T[X] <= maxCost > > Where [X] is an integer vector > [P] is a vector of real values > [C] is a vector of real values > maxCost is a real value > > That is, I want X to maximize [X]T[P] and minimize [C]T[X] while remaining under maxCost > > > > > > > I've used the Quadratic solver before, this is how I used it: > > final QuadraticSolver.Builder tmpBuilder = new QuadraticSolver.Builder(tmpQ, tmpC).equalities(tmpAE, tmpBE).inequalities(tmpAI, tmpBI); > final QuadraticSolver tmpSolver = tmpBuilder.build(); > final OptimisationSolver.Result tmpResult = tmpSolver.solve(); > final BasicMatrix tmpSolution = tmpResult.getSolution(); > > Where I built the MatrixStore objects using: > final MatrixStore<Double> tmpQ = PrimitiveDenseStore.FACTORY.copy(Q); > for example... > > > Thanks a lot for any help! > > S > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Simon G. <si...@ya...> - 2012-07-19 21:20:00
|
Hi, my name is Simon I'm trying to use the integer solver in OjAlgo, but I don't understand how to use it. The builder seems to require an ExpressionsBasedModel, which in itself requires a Variable vector. Can you help me out with this? Or point me to an example or documentation regarding this? I'm solving min -[X]T[P] / [C]T[X] and [C]T[X] <= maxCost Where [X] is an integer vector [P] is a vector of real values [C] is a vector of real values maxCost is a real value That is, I want X to maximize [X]T[P] and minimize [C]T[X] while remaining under maxCost I've used the Quadratic solver before, this is how I used it: final QuadraticSolver.Builder tmpBuilder = new QuadraticSolver.Builder(tmpQ, tmpC).equalities(tmpAE, tmpBE).inequalities(tmpAI, tmpBI); final QuadraticSolver tmpSolver = tmpBuilder.build(); final OptimisationSolver.Result tmpResult = tmpSolver.solve(); final BasicMatrix tmpSolution = tmpResult.getSolution(); Where I built the MatrixStore objects using: final MatrixStore<Double> tmpQ = PrimitiveDenseStore.FACTORY.copy(Q); for example... Thanks a lot for any help! S |
From: Anders P. <an...@op...> - 2012-07-03 09:18:05
|
On 2 jul 2012, at 22:46, Chris Lucas wrote: > Again, thanks for such a quick reply. > >> That link doesn't work... > > Perhaps it was down temporarily or there's some sort of IP-based > restriction? I was able to download the chapter pdf just now. Yes, some temporary problem. I've got that pdf now. Interesting subject, but a little too much for me to read right now. >> Did you find the org.ojalgo.random.process package? Cannot that be adapted or extended to do what you want? > > I did find it, but sadly Gaussian processes are somewhat ill-suited to > the current interface, as I understand it: in a GP, all y are jointly > normal, where y_{t+1} depends on y_{1...t} via a covariance matrix > determined by \mathbf{x}_{1...t+1}. In contrast, it seems that the > interface is best suited for processes where y_{t+1} is independent of > y_{1...t-1} conditional on y_t, and there's no role for x. Essentially the current code was written to do monte carlo simulations using (multi-dimensional) geometric brownian motion - not regression. The RandomProcess interface does not dictate if the process maintains state or not, nor what that state would depend on. That's entirely up to the implementations. The Process1D can be a multi-dimensional version of any RandomProcess implementation. Gaussian1D is a "multivariate Gaussian distribution". GP is new to me. In-between having RandomProcess and Gaussian1D I feel there can't be that much missing... /Anders |
From: Chris L. <cg...@gm...> - 2012-07-02 20:47:02
|
Again, thanks for such a quick reply. >That link doesn't work... Perhaps it was down temporarily or there's some sort of IP-based restriction? I was able to download the chapter pdf just now. >Sounds to me as if you're one of those who should choose MatrixStore/PhysicalStore over BasicMatrix. Thanks. I'll look into that. >Did you find the org.ojalgo.random.process package? Cannot that be adapted or extended to do what you want? I did find it, but sadly Gaussian processes are somewhat ill-suited to the current interface, as I understand it: in a GP, all y are jointly normal, where y_{t+1} depends on y_{1...t} via a covariance matrix determined by \mathbf{x}_{1...t+1}. In contrast, it seems that the interface is best suited for processes where y_{t+1} is independent of y_{1...t-1} conditional on y_t, and there's no role for x. |
From: Anders P. <an...@op...> - 2012-07-02 19:54:17
|
That link doesn't work... Sounds to me as if you're one of those who should choose MatrixStore/PhysicalStore over BasicMatrix. Did you find the org.ojalgo.random.process package? Cannot that be adapted or extended to do what you want? /Anders On 2 jul 2012, at 21:20, Chris Lucas wrote: > Thanks for the quick reply. > > I'm porting some Gaussian process code I wrote a while back in matlab > where one gets performance savings by using Cholesky factorization > instead of direct matrix inversion. > > The specific operations I'm using are described in Rasmussen & > William's Gaussian process book, listing 2.1 on page 19, which R&W > have made available online: > http://www.gaussianprocess.org/gpml/chapters/RW2.pdf > > A large part of my rationale for porting to java is performance: the > broader inference process in which the GP code is embedded requires a > very large number of iterated operations on tiny matrices (as well as > a fair number with ~100x100 matrices) so I'm hopeful that java's > general-purpose speed advantages over matlab will trump the latter's > benefits in matrix operations. > > Chris > > On Mon, Jul 2, 2012 at 12:09 PM, Chris Lucas <cg...@gm...> wrote: >> I'm writing some code that requires a computing a cholesky >> factorization -- which appears to return L as a MatrixStore -- and >> everything I've written so far uses BasicMatrix data types. I'm at a >> loss for how to get a BasicMatrix from a MatrixStore without building >> it by hand, element-by-element. What's the recommended approach, in >> this case? > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > |
From: Chris L. <cg...@gm...> - 2012-07-02 19:20:36
|
Thanks for the quick reply. I'm porting some Gaussian process code I wrote a while back in matlab where one gets performance savings by using Cholesky factorization instead of direct matrix inversion. The specific operations I'm using are described in Rasmussen & William's Gaussian process book, listing 2.1 on page 19, which R&W have made available online: http://www.gaussianprocess.org/gpml/chapters/RW2.pdf A large part of my rationale for porting to java is performance: the broader inference process in which the GP code is embedded requires a very large number of iterated operations on tiny matrices (as well as a fair number with ~100x100 matrices) so I'm hopeful that java's general-purpose speed advantages over matlab will trump the latter's benefits in matrix operations. Chris On Mon, Jul 2, 2012 at 12:09 PM, Chris Lucas <cg...@gm...> wrote: > I'm writing some code that requires a computing a cholesky > factorization -- which appears to return L as a MatrixStore -- and > everything I've written so far uses BasicMatrix data types. I'm at a > loss for how to get a BasicMatrix from a MatrixStore without building > it by hand, element-by-element. What's the recommended approach, in > this case? |
From: Anders P. <an...@op...> - 2012-07-02 18:56:26
|
The intention is that as a BasicMatrix user you should not want/need explicit access to the various matrix decompositions. Instead BasicMatrix should offer direct support for common tasks - like just calling invert() or solve(BasicMatrix) and not worry about the underlying code. What is it you want to do? Basically you have 3 alternatives: 1) Live with that extra copying. You do not have to build it "by hand" just call PrimitiveMatrix.Factory.copy(MatrixStore). 2) Switch to working with MatrixStore/PhysicalStore rather than BasicMatrix. 3) Convince me to add what you need to BasicMatrix /Anders On 2 jul 2012, at 18:09, Chris Lucas wrote: > I'm writing some code that requires a computing a cholesky > factorization -- which appears to return L as a MatrixStore -- and > everything I've written so far uses BasicMatrix data types. I'm at a > loss for how to get a BasicMatrix from a MatrixStore without building > it by hand, element-by-element. What's the recommended approach, in > this case? > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > |
From: Chris L. <cg...@gm...> - 2012-07-02 16:10:14
|
I'm writing some code that requires a computing a cholesky factorization -- which appears to return L as a MatrixStore -- and everything I've written so far uses BasicMatrix data types. I'm at a loss for how to get a BasicMatrix from a MatrixStore without building it by hand, element-by-element. What's the recommended approach, in this case? |
From: Anders P. <an...@op...> - 2012-06-26 20:49:39
|
Start by reading this: http://code.google.com/p/ojalgo/wiki/GettingStartedLinearAlgebra Then perhaps you should browse through the list archives. ojAlgo supports matrices with up to (2^31)-1 elements. /Anders On 26 jun 2012, at 21:18, Marwa M. Khan wrote: > Dear, > > I would like to use the OJalgo in my project, I understand how to create the matrix and it work find with me but I didn't find how to get the SVD for BasicMatrix ?. > > For memory and heap problems, what the maximum matrix size the library support ? > > And Is there any useful code examples on the web or within the source files? > > > Thank you > Warning: This message and its attachment, if any, are confidential and may contain information protected by law. If you are not the intended recipient, please contact the sender immediately and delete the message and its attachment, if any. You should not copy the message and its attachment, if any, or disclose its contents to any other person or use it for any purpose. Statements and opinions expressed in this e-mail and its attachment, if any, are those of the sender, and do not necessarily reflect those of King Abdulaziz city for Science and Technology (KACST) in the Kingdom of Saudi Arabia. KACST accepts no liability for any damage caused by this email. > تحذير: هذه الرسالة وما تحويه من مرفقات (إن وجدت) تمثل وثيقة سرية قد تحتوي على معلومات محمية بموجب القانون. إذا لم تكن الشخص المعني بهذه الرسالة فيجب عليك تنبيه المُرسل بخطأ وصولها إليك، وحذف الرسالة ومرفقاتها (إن وجدت)، ولا يجوز لك نسخ أو توزيع هذه الرسالة أو مرفقاتها (إن وجدت) أو أي جزء منها، أو البوح بمحتوياتها للغير أو استعمالها لأي غرض. علماً بأن فحوى هذه الرسالة ومرفقاتها (ان وجدت) تعبر عن رأي المُرسل وليس بالضرورة رأي مدينة الملك عبدالعزيز للعلوم والتقنية بالمملكة العربية السعودية، ولا تتحمل المدينة أي مسئولية عن الأضرار الناتجة عن ما قد يحتويه هذا البريد. |
From: Anders P. <an...@op...> - 2012-06-25 08:22:51
|
I've deprecated the last remaining variation of addExpression(?) in ExpressionsBasedModel. There is now only one generic addExpression(name) method. Functionality corresponding to all previous variations have been added to Expression. It currently has this set of element setters: setLinearFactor(Variable, Number) setLinearFactor(int, Number) setLinearFactor(Index, Number) setLinearFactors(List<Variable>, Access1D<?>) setLinearFactorsSimple(List<Variable>) setQuadraticFactor(Variable, Variable, Number) setQuadraticFactor(int, int, Number) setQuadraticFactor(RowColumn, Number) setQuadraticFactors(List<Variable>, Access2D<?>) setCompoundFactorsOffset(List<Variable>, Access1D<?>) where setCompoundFactorsOffset corresponds to all previous addOffsetExpression variations, and setLinearFactorsSimple corresponds to addSimpleWeightExpression. The rest I hope are self-explanatory. /Anders On 13 maj 2012, at 17:31, Anders Peterson wrote: > Regarding improvements (or bringing back deprecated methods) you have to be explicit about what you want so I know what to consider. Not sure what you mean by "min. square objective function"... > > I deprecated (and removed) all those variants of addEpression(?) because I realized there's an infinite number of methods that could be useful, and instead of adding more variants I removed all but the most generic ones. I still think that was a good decision. > > I've added a little bit to the on-line javadoc for Expressuon and ExpressionsBasedModel. What it is you find difficult? I can imagine two things: > > 1) What to set the contribution weight to. If you don't know what else to set it to then set it to 1.0 or leave it as null. > > 2) People (think they) know which solver to use, and they look at the documentation for that solver, and then try build matching "matrices" using the expressions - even setting contribution weights based on parameters/signs they've seen there. This is the wrong way! Documentation for any specific solver is irrelevant when building a model. The only thing you have to remember is that there currently is no solver that can handle quadratic constraints. > > /Anders > > > On 11 maj 2012, at 14:12, Petru AUSLAENDER wrote: > >> Anders, >> >> That's fine, but then could you improve the ExpressionBasedModel API? Currently it is a bit cumbersome and error-prone for "novices", e.g. it is not easy to know when you're adding the quadratic objective function, the linear constraints, or / and the variable lower/upper limits. One possibility would be to have specific QuadraticExpression and LinearExpression classes. >> >> Also, some methods that are now deprecated were quiet usefull in the past - e.g. min. square objective function. >> >> Kind regards, >> Pierre >> >> >> >> From: "Anders Peterson" <an...@op...> >> >> To: "ojAlgo ojAlgo" <oja...@li...> >> Date: 11.05.2012 12:38 >> Subject: [ojAlgo-user] Future changes to the optimisation package >> >> >> >> There are a number of changes/fixes/additions that are long overdue for the optimisation package. Not sure when I'll have time to do them all, but right now I feel a little inspired. >> >> Things (api) will change... Using the ExpressionsBasedModel to feed the solvers is, as far as I can tell, the future-safe way. Don't create matrices - create Expressions. Feeding the linear and quadratic solvers matrices directly will most likely still be supported in the future, but the api for how to do that will change. >> >> /Anders >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> ojAlgo-user mailing list >> ojA...@li... >> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >> >> >> >> _____________________________________________________________________ >> >> Message électronique privé - les sociétés du Groupe Pictet n'assument >> aucune responsabilité s'agissant du contenu de ce message; celle-ci >> incombe exclusivement à son auteur et / ou expéditeur. >> _____________________________________________________________________ >> >> Personal e-mail - Only the author and / or sender of this message and >> not any of the Pictet Group entities may be held liable for the >> content herein. >> _____________________________________________________________________ >> >> Pictet reserves the right to monitor and record business and personal >> communications. By responding to an email or call from a Pictet >> employee you are taken to have consented to such monitoring and >> recording. >> _____________________________________________________________________ >> >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ >> ojAlgo-user mailing list >> ojA...@li... >> https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Anders P. <an...@op...> - 2012-06-21 11:43:31
|
There's now a v32.10 snapshot. /Anders https://sourceforge.net/projects/ojalgo/files/ojAlgo/snapshot/ On 21 jun 2012, at 00:40, Chris Lucas wrote: > Great, thanks. > > Re the Weibull, it looks like it's a problem with the test; I should > have noticed that one can't draw samples with those parameters > (.01,.01) and expect doubles to contain the result. If you change the > parameter floor to .2 and relax the sensitivity of the variance > unit-test parameter (perhaps to the point of ignoring it for the > really long-tailed Weibull distributions) it should pass. > > Chris > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |