8000 ORtools solvers via cvxpy do not print out solve information at jupyter notebook · Issue #3559 · google/or-tools · GitHub
ORtools solvers via cvxpy do not print out solve information at jupyter notebook #3559
Open
@haihaolu

Description

@haihaolu

What version of OR-Tools and what language are you using?
Version: main/v9.4
Language: Python

Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
GLOP, PDLP

What operating system (Linux, Windows, ...) and version?
Mac

What did you do?

Open a jupyter notebook, and run the below code to call ortools solvers (i.e., GLOP or PDLP) via cvxpy using the code below:

import cvxpy as cp
import numpy as np

m = 150
n = 100
np.random.seed(1)
s0 = np.random.randn(m)
lamb0 = np.maximum(-s0, 0)
s0 = np.maximum(s0, 0)
x0 = np.random.randn(n)
A = np.random.randn(m, n)
b = A @ x0 + s0
c = -A.T @ lamb0

x = cp.Variable(n)
prob = cp.Problem(cp.Minimize(c.T@x),
                 [A @ x <= b])
prob.solve(solver=cp.GLOP, verbose=True)

What did you expect to see
I expect to see the solving logs at the notebook.

What did you see instead?

The solving logs are printed out at the terminal not the notebook. Here are what shown at the notebook. The solving logs are not shown in the numerical solver section.

===============================================================================
                                     CVXPY                                     
                                     v1.2.1                                    
===============================================================================
(CVXPY) Nov 22 10:16:37 AM: Your problem has 1000 variables, 1 constraints, and 0 parameters.
(CVXPY) Nov 22 10:16:37 AM: It is compliant with the following grammars: DCP, DQCP
(CVXPY) Nov 22 10:16:37 AM: (If you need to solve this problem multiple times, but with different data, consider using parameters.)
(CVXPY) Nov 22 10:16:37 AM: CVXPY will first compile your problem; then, it will invoke a numerical solver to obtain a solution.
-------------------------------------------------------------------------------
                                  Compilation                                  
-------------------------------------------------------------------------------
(CVXPY) Nov 22 10:16:37 AM: Compiling problem (target solver=GLOP).
(CVXPY) Nov 22 10:16:37 AM: Reduction chain: Dcp2Cone -> CvxAttr2Constr -> ConeMatrixStuffing -> GLOP
(CVXPY) Nov 22 10:16:37 AM: Applying reduction Dcp2Cone
(CVXPY) Nov 22 10:16:37 AM: Applying reduction CvxAttr2Constr
(CVXPY) Nov 22 10:16:37 AM: Applying reduction ConeMatrixStuffing
(CVXPY) Nov 22 10:16:37 AM: Applying reduction GLOP
(CVXPY) Nov 22 10:16:43 AM: Finished problem compilation (took 5.485e+00 seconds).
-------------------------------------------------------------------------------
                                Numerical solver                               
-------------------------------------------------------------------------------
(CVXPY) Nov 22 10:16:43 AM: Invoking solver GLOP  to obtain a solution.
-------------------------------------------------------------------------------
                                    Summary                                    
-------------------------------------------------------------------------------
(CVXPY) Nov 22 10:17:01 AM: Problem status: optimal
(CVXPY) Nov 22 10:17:01 AM: Optimal value: 3.907e+02
(CVXPY) Nov 22 10:17:01 AM: Compilation took 5.485e+00 seconds
(CVXPY) Nov 22 10:17:01 AM: Solver (including time spent in interface) took 1.824e+01 seconds

Make sure you include information that can help us debug (full error message, model Proto).

Anything else we should know about your project / environment

I am creating an education plan on using PDLP via cvxpy and jupyter notebook, and this issue raises up.

Could you please add dapplegate@google.com and miles.lubin@gmail.com for this issue?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0