Giter Club home page Giter Club logo

clp-java's Introduction

Linear Programming in Java

Java interface for the CLP linear solver, optimized towards fast model building and fast resolves.

Overview

The interface provides a number of useful features for Java programmers who want to build either large models or apply decomposition strategies that require a lot of resolves. The interface has undergone several rounds of testing and profiling outside of unit tests.

Compact model creation using builders

Variables, constraints, and linear expressions are available as Java objects to make model building as easy as possible.

Decision variables as well as their bounds and objective coefficients can be created in a single line. For example, x \in [-3,3] and y \in \mathbb{R}, would become

CLPVariable x = model.addVariable().lb(-3).ub(3);
CLPVariable y = model.addVariable().free();

Since there is no operator overloading in Java, algebraic formulations are not possible. To avoid excessive use of setters, constraints can be built by using a series of add statements. For example, 3x + 4y \leq 10 can be expressed as

model.createExpression().add(3,x).add(4,y).leq(10);

The add statements also accepts vectors of variables and coefficients. See the javadoc for further reference.

Fast model building

Chunks of a model are buffered in heap for model building before being sent to the native lib. The size of the buffer can be set by the user. Models can be formulated in a row-by-row fashion, without bothering about possible performance bottlenecks. Models with millions of constraints can be generated quickly.

Direct memory access

Once a model is build it only lives in native memory, with the exception of referenced objects of variables and constraints which remain in heap. To update model coefficients, the model is accessed directly in native memory via direct byte buffers which speeds up resolves. When the model gets gc'ed, native memory will be released automatically.

Installation

Maven

The project is available at the central repository. Simply add the following dependency to your pom file

<dependency>
  <groupId>com.quantego</groupId>
  <artifactId>clp-java</artifactId>
  <version>1.16.15</version>
</dependency>

All-in-one jar file

Download the latest build of the jar from the release page.

The jar file contains the native libs for the most important host systems (Intel Mac, Apple Silcon, Win 64, Linux ARM and x86), so there won't be UnsatisfiedLinkErrormessages and there is no messing around with setting build paths. A copy of the native libs will be created in a temporary directory at runtime. Simply import the jar and you're done.

Requirements

  • Java JDK 8
  • 64-bit Linux, Mac OS, or Windows

Documentation

See the javadoc for a full class reference.

Author

Nils Löhndorf

clp-java's People

Contributors

loehndorf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

clp-java's Issues

Windows 11 - 64-Bit CLP resource is missing in All-in-One-jar

Hi there,

I recently started working with your CLP interface and noticed on windows there is a problem regarding 32-/64-Bit implementation.

On a 64-Bit Windows 11 the classloader correctly assumes to load a 64-Bit CLP version:
CLP_NativeLoader

Still, there is none in the All-in-One-jar file provided:
CLP_Res_win-x86

A workaround (not optimal though) currently is to rename the resource folder in the .jar file manually:
CLP_Res_win64

Just leaving this here :)
Thanks for the work put into the interface!

Change CLP.maxSeconds argument type from int to double

The underlying C++ code uses a double for the maxSeconds timeout value, but the java wrapper uses an int argument type. My application solves a large number of small problems that should typically take around 50-100 ms, so I want to abort after maybe 300 ms or so for problems that are "too hard".

diff --git a/src/main/java/com/quantego/clp/CLP.java b/src/main/java/com/quantego/clp/CLP.java
index da14195..8f78ed1 100644
--- a/src/main/java/com/quantego/clp/CLP.java
+++ b/src/main/java/com/quantego/clp/CLP.java
@@ -630,7 +630,7 @@ public class CLP {
         * @param seconds
         * @return builder
         */
-       public CLP maxSeconds(int seconds) {
+       public CLP maxSeconds(double seconds) {
                CLPNative.clpSetMaximumSeconds(_model, seconds);
                return this;
        }

Since the change is very small I didn't fork to make a pull request and hope this comment is enough.

Staffan

This Project dead?

Hi. May i kindly ask whether this project is dead?
The Most recent clp stable version is 1.17.6 while this one seems to be for Version 1.16.11 and no release has been made in more than one year.

CLPExpression.add(CLPExpression)

It would be useful to have something like

CLP model = new CLP();
CLPVariable var1 = model.addVariable(), var2 = model.addVariable(), var3 = model.addVariable();
CLPExpression e1 = model.createExpression();
e1.add(var1);
CLPExpression e2 = model.createExpression();
e2.add(var2).add(var3);
e1.add(e2).leq(4);

BridJ: LoadLibrary error when loading Clp.dll : A dynamic link library (DLL) initialization routine failed

I am using clp-java for linear optimization, but when i try to run the code, i get the following error: The process keeps running and the following keeps getting printed repeatedly.

BridJ: LoadLibrary error when loading C:\Users\Abhijay\AppData\Local\Temp\CLPExtractedLib1623275631902676\Clp.dll : A dynamic link library (DLL) initialization routine failed.

I have added the following dependencies in the pom.xml.

com.quantego clp-java 1.16.10

Here is my code:

import com.quantego.clp.CLP;
import com.quantego.clp.CLP.ALGORITHM;
import com.quantego.clp.CLPVariable;

public class ClpDemo {

public static void main(String[] args) {
    CLP model = new CLP().algorithm(ALGORITHM.AUTO).maximization().presolve(false);
    CLPVariable x1 = model.addVariable().lb(0);
    CLPVariable x2 = model.addVariable().lb(0);
    model.createExpression().add(10, x1).add(20, x2).leq(120);
    model.createExpression().add(8, x1).add(8, x2).leq(80);
    model.createExpression().add(12, x1).add(16, x2).asObjective();
    model.solve();
    double x1Value = model.getSolution(x1);
    double x2Value = model.getSolution(x2);
    System.out.println("x1 :" + x1Value + " x2 :" + x2Value);
  }

}

CLP Boolean Variable?

Hi,

Thanks for your work on this project.

I was wondering if there is any way to create a boolean CLPVariable, as in the variable will only be able to take the values of 0 or 1. Currently having issues with variables taking decimal values when setting the bounds to (0,1).

Thanks again!

A dynamic link library (DLL) initialization routine failed. on windows 8.1 x64

Hello,

the library looks amazing, but I have problems to run it on windows 8.1 64bit. When running unit tests, multiple error msgs occur:
BridJ: LoadLibrary error when loading C:\Users\USER_NAME\AppData\Local\Temp\CLPExtractedLib454367849497120\Clp.dll : A dynamic link library (DLL) initialization routine failed.

and then test fails:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 51.48 sec <<< FAILURE!
testToString(com.quantego.clp.CLPTest) Time elapsed: 0.01 sec <<< ERROR!
java.lang.UnsatisfiedLinkError: com.quantego.clp.CLPNative.clpNewModel()Lorg/bridj/Pointer;
at com.quantego.clp.CLPNative.clpNewModel(Native Method)
at com.quantego.clp.CLP.init(CLP.java:75)
at com.quantego.clp.CLP.(CLP.java:71)
at com.quantego.clp.CLPTest.testToString(CLPTest.java:41)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

unfortunately, I need this to be runnable on windows. Please, help me.

dlopen error

Hi,
First of all, thanks for creating this library. It looks great 👍

I am unfortunately having some issues with it. I have included your .jar from Maven (as you describe) ... btw. please write somewhere that Java 1.8 is expected.

If I execute the Java statement: new CLP();, I get the following output:

kasper@KasperVB:~/workspace/CPCSolver/target$ java -jar cpc-solver-1-jar-with-dependencies.jar BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory BridJ: dlopen error when loading /tmp/CLPExtractedLib4449854949675/libClp.so : libCoinUtils.so.3: cannot open shared object file: No such file or directory Exception in thread "main" java.lang.UnsatisfiedLinkError: com.quantego.clp.CLPNative.clpNewModel()Lorg/bridj/Pointer; at com.quantego.clp.CLPNative.clpNewModel(Native Method) at com.quantego.clp.CLP.init(CLP.java:73) at com.quantego.clp.CLP.<init>(CLP.java:69) at com.bi.solve.main(solve.java:16)

CLP crashes when there are zeros in the A matrix and scaling is turned on

CLP automatically removes elements below the smallest element value from the A matrix by shifting all elements associated with the same column upward and reducing the length vector by one. Once an element is set zero, it cannot become non-zero again. This is a problem when coefficients between sequential solves temporarily become zero.

The current workaround is to set the smallest element value to zero, and let the Java interface handle values that are too small. With this workaround, scaling must be turned off, as long as there might be elements that are zero.

MIP support (CBC?)

Hi,

First thank you very much, clp-java works very well.
It is a pleasure to simply import the jar file and have nothing else to install.
Would you consider doing the same for CBC, which enables to have integer variables?
Thank you!

Supporting ClpModel::writeMps

I would find it really useful to be able to export an MPS file of my model. This is supported by Clp itself, but not exposed by clp-java.

In particular, i notice that although CLPNative has a binding for ClpModel::readMps, it lacks one for ClpModel::writeMps. I also notice that the header in this file suggests it was generated for Clp 1.13.9, when the library uses Clp 1.16.10. I hazard a guess that the wroteMps method was added in between 1.13 and 1.16.

If CLPNative had a binding for writeMps, it looks to me like it would be pretty simple to wrap it in the same way that CLP::storeModel wraps CLPNative:::clpSaveModel.

As a workaround, i've tried using CLP::storeModel, then importing it into the clp command-line tool to re-export as MPS. However, the command-line tool chokes on the file, saying "There were errors on input".

Volume twice in updated version

Hi Nils,
If I am not wrong, since the update in June 2018, the volume of the software is almost twice. Is there any document explaining the improvements in the new version?
Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.