MATLAB Answers

Multi-precision linear programming

6 views (last 30 days)
I need to solve specific linear programming problem which is based on Mallows permutation probability distribution. This exponential distribution for high distances of permutations suffer from the lose of accuracy. So, I need the multi-precision support to handle numerical consistency and stability of my linear programming problem.
What are my options with Matlab 2020a?

  0 Comments

Sign in to comment.

Accepted Answer

Michal Kvasnicka
Michal Kvasnicka on 12 May 2020
Edited: Michal Kvasnicka on 12 May 2020
One of possible way (so far only known to me) how to solve directly and eficiently LP problems with full multi-precision support in MATLAB environment is using of Matlab toolbox for Maple (MTM) by built-in Maple function LPsolve (Optimization package) and multi-precision setup by Maple command "Digits:= 200", for example.
It would be great if the developers of Symbolic Math Toolbox could add in the future some optimization methods!

  0 Comments

Sign in to comment.

More Answers (1)

John D'Errico
John D'Errico on 9 May 2020
Edited: John D'Errico on 9 May 2020
None in MATLAB. However, I there is some question as to you really need super high multiple precision support. Do you have data that is accurate to 20 or more digits of precision? If so, then I am impressed. And if your data is not that accurate, then the answers you would get from that extra high precision are just an illusion. But do as you will.
I might knote that few physical constants are known to that high precision. From what I can see, constants like the Planck constant, the Volt and the kilogram all seem to be accurate only to some parts per billion. If so, I'd be pretty impressed if you have information that is known to twice as many significant digits. Well done there.

  4 Comments

Show 1 older comment
John D'Errico
John D'Errico on 9 May 2020
As per your now deleted comment as to why you want it, I'm sorry, but MATLAB does not support extended precision beyond the symbolic toolbox or my own tools like HPF. And they are not valid for use in the optimization toolbox.
If you do attempt to use a tool like linprog, while passing in higher precision data in one of those forms, it will fail, probably with the error:
Error using linprog (line 152)
LINPROG requires the following inputs to be of data type double: 'A'.
At best, you would need to write an LP tool of your own, that works with one of those two higher precision tools. Or, you might be able to find something in a different form where you could compile code into a Mex form.
Michal Kvasnicka
Michal Kvasnicka on 9 May 2020
Yes, I know that ... linprog is not able to work with any multi-precision class at all !!!
I am just looking for any 3rd-party MATLAB linear programming solver with multi-precision support.
Write own LP solver from the scratch is really my last choice, because robust, reliable and effective LP solver is very, very, ... difficult task.
Stephen Cobeldick
Stephen Cobeldick on 12 May 2020
"I'd be pretty impressed if you have information that is known to twice as many significant digits"
MAD magazine issue 26 is known to be exactly one potrzebie thick, or 2.2633484517438173216473 mm.
I guess that makes MAD magazine a more fundamental unit than those so called "constants".

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by