[Clp] getting no results - does this imply degeneracy ?

Edgar A edgar.factorial at gmail.com
Mon Sep 7 17:25:49 EDT 2020


Two part question - my math is a bit rusty on the nuances of OR , been a
few years.

1) I'm trying out CLP and have this generated LP table


max USDC
subject to
   USDC + USDCWETH + USDCDAI + USDCUSDT - 344.142191 WETHUSDC - 1.020079
DAIUSDC - 0.993586 USDTUSDC = 1
   WETHUSDC + WETHDAI + WETHUSDT - 0.002888359217726139 USDCWETH -
0.002953897534741168 DAIWETH - 0.002886918859189835 USDTWETH = 0
   DAIUSDC + DAIWETH + DAIUSDT - 0.974437656908750917 USDCDAI -
336.50626753022552063 WETHDAI - 0.972658375688681427 USDTDAI = 0
   USDTUSDC + USDTWETH + USDTDAI - 1.000424 USDCUSDT - 344.313875 WETHUSDT
- 1.021948 DAIUSDT = 0
bounds
  USDC <= 2000
end


Now running it in own cpp code,

  ClpSimplex model;
      model.primal();

I get:

USDC: 1
USDCWETH: 0
USDCDAI: 0
USDCUSDT: 0
WETHUSDC: 0
DAIUSDC: 0
USDTUSDC: 0
WETHDAI: 0
WETHUSDT: 0
DAIWETH: 0
USDTWETH: 0
DAIUSDT: 0
USDTDAI: 0

Question: What does this imply? Does it mean there is degeneracy in the
solution space? I also tried `model.dual()` but same results. Ought I to
use something other than `ClpSimplex`? I suspected there might be an issue
for the numerical percision, that is, to use the latest which I see there
is `long double`, but that code hasn't been released under the tarball
release here (https://www.coin-or.org/download/source/Clp/) (I'm using
latest at this time which is 1.17.6, appreciate if newer version released
with long double be uploaded, yes i know about the build from source
coinbrew, etc but had trouble with it, prefer this tarball approach)

2) What about the occasions when a pairing does not exist, is it sufficient
to simply leave out that variable, or add the variable but with coefficient
of 0? In the examples I've seen, only the diagonal contains no value.

Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20200907/0cea3ff7/attachment.html>


More information about the Clp mailing list