Bug 159484 - CoinMP Linear Solver finds solution to infeasible model
Summary: CoinMP Linear Solver finds solution to infeasible model
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.6.4.1 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Solver
  Show dependency treegraph
 
Reported: 2024-01-31 17:44 UTC by Patrick Jansky
Modified: 2024-02-01 08:52 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Example file showing the incorrect behavior (9.93 KB, application/vnd.oasis.opendocument.spreadsheet)
2024-01-31 17:50 UTC, Patrick Jansky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Jansky 2024-01-31 17:44:11 UTC
Description:
I tried to use the solver on the following model:
1*x1 + 2*x2 <= 6
1*x1 + 2*x2 >= 8
optimize for maximum of x1 + x2

The LibreOffice Linear Solver correctly identifies the model as infeasible, the LibreOffice CoinMP Linear Solver falsely finds the optimum x1=0 x2=3 which violates the second inequality. I would like upload the document, but I can't seem to figure out how to attach a file. 

Steps to Reproduce:
1. Create the following model:
1*x1 + 2*x2 <= 6
1*x1 + 2*x2 >= 8
optimize for maximum of x1 + x2

2. Use the solve with the LO Linear Solver -> model is infeasible (correct)
3. Use the solve with the LO CoinMP Linear Solver -> x1=0; x2=3 (incorrect)

Actual Results:
LO Linear Solver: model is infeasible (correct)
LO CoinMP Linear Solver: x1=0; x2=3 (incorrect)

Expected Results:
Both solvers should recognize the model as infeasible


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 7.6.4.1 (X86_64) / LibreOffice Community
Build ID: e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa1
CPU threads: 8; OS: Linux 6.6; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Flatpak
Calc: threaded
Comment 1 Patrick Jansky 2024-01-31 17:50:47 UTC
Created attachment 192299 [details]
Example file showing the incorrect behavior

An example file with the model
Comment 2 Rafael Lima 2024-01-31 19:23:41 UTC
I can confirm the issue.

When using lpsolve (LibreOffice Linear Solver) I get a message saying that the model is infeasible (which is expected).

However, with CoinMP I get a solution to the model:

X1 = 26666650000
X2 -13333324997
Z = 13333325003

Tested with

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 379968864c42f4bd99d874a4ce1949dd6eed45b8
CPU threads: 16; OS: Linux 6.5; UI render: default; VCL: kf5 (cairo+xcb)
Locale: pt-BR (pt_BR.UTF-8); UI: en-US
Calc: CL threaded
Comment 3 Patrick Jansky 2024-02-01 08:52:09 UTC
I just got the 24.02 update and tested it again. I now also get 
X1 = 26666650000
X2 -13333324997
Z = 13333325003

Version: 24.2.0.3 (X86_64) / LibreOffice Community
Build ID: da48488a73ddd66ea24cf16bbc4f7b9c08e9bea1
CPU threads: 8; OS: Linux 6.6; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Flatpak
Calc: threaded