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?

 채택된 답변

Michal
Michal 2020년 5월 12일
편집: Michal 2020년 5월 12일

0 개 추천

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!

추가 답변 (1개)

John D'Errico
John D'Errico 2020년 5월 9일
편집: John D'Errico 2020년 5월 9일

0 개 추천

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

Michal
Michal 2020년 5월 9일
편집: Michal 2020년 5월 12일
I am not solving data oriented LP problem... I need the multi-precision support to handle numerical stability of my problem.
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
Michal 2020년 5월 9일
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.
Stephen23
Stephen23 2020년 5월 12일
편집: Stephen23 2020년 5월 12일
"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".

댓글을 달려면 로그인하십시오.

카테고리

질문:

2020년 5월 9일

편집:

2020년 5월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by