Or-tools: How to print the model used? (Python)

Created on 3 Nov 2017  Â·  9Comments  Â·  Source: google/or-tools

After add the vars and the constraints, how to print the model used by the solver?

Help Needed C++ Python

Most helpful comment

I finally got it. Somehow the API for ExportModelAsLpFormat was not clear to me, but I found a random website with an example. The confusion was over how the solver object interacted with the function.

I found the below works and is a "pretty" way or printing the whole model!
print(solver.ExportModelAsLpFormat(False).replace('\\', '').replace(',_', ','), sep='\n')

All 9 comments

Check the example in the documentation

I'm not sure the original question was answered. I am looking for the same thing. The link in the example shows how to print the values of a final solution after solving the optimization problem. For example x_gt = 1, y_gt = 2, etc. What I would like is a simple way to efficiently print out all constraints in the model. For example x_gt + ygt >=1, sum(t, x_gt) = 1, etc. Even though we code the constraints and add them via a solver.add() command, it is still easy to miss small mistakes you make when coding them. It'd be nice to verify the constraint I add with the intended mathematical formulation.
Thanks!

Which solver ?

Le mer. 30 oct. 2019 à 18:50, mlh621 notifications@github.com a écrit :

I'm not sure the original question was answered. I am looking for the same
thing. The link in the example shows how to print the values of a final
solution after solving the optimization problem. For example x_gt = 1, y_gt
= 2, etc. What I would like is a simple way to efficiently print out all
constraints in the model. For example x_gt + ygt >=1, sum(t, x_gt) = 1,
etc. Even though we code the constraints and add them via a solver.add()
command, it is still easy to miss small mistakes you make when coding them.
It'd be nice to verify the constraint I add with the intended mathematical
formulation.
Thanks!

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3KFEATLJJIK3ZTVVXTQRHJQJA5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECVL7BQ#issuecomment-548061062,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MUME5GXIMTSZCL4K3QRHJQJANCNFSM4ECEGROQ
.

Right now I’m experimenting with the default COIN-OR Mixed Integer Programming solver

On Wed, Oct 30, 2019 at 5:06 PM, Laurent Perron notifications@github.com wrote:

Which solver ?

Le mer. 30 oct. 2019 à 18:50, mlh621 notifications@github.com a écrit :

I'm not sure the original question was answered. I am looking for the same
thing. The link in the example shows how to print the values of a final
solution after solving the optimization problem. For example x_gt = 1, y_gt
= 2, etc. What I would like is a simple way to efficiently print out all
constraints in the model. For example x_gt + ygt >=1, sum(t, x_gt) = 1,
etc. Even though we code the constraints and add them via a solver.add()
command, it is still easy to miss small mistakes you make when coding them.
It'd be nice to verify the constraint I add with the intended mathematical
formulation.
Thanks!

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3KFEATLJJIK3ZTVVXTQRHJQJA5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECVL7BQ#issuecomment-548061062,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MUME5GXIMTSZCL4K3QRHJQJANCNFSM4ECEGROQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

You can export the model as a string in the lp format

http://google.github.io/or-tools/python/ortools/linear_solver/pywraplp.html

Le jeu. 31 oct. 2019 à 03:26, mlh621 notifications@github.com a écrit :

Right now I’m experimenting with the default COIN-OR Mixed Integer
Programming solver

On Wed, Oct 30, 2019 at 5:06 PM, Laurent Perron notifications@github.com
wrote:

Which solver ?

Le mer. 30 oct. 2019 à 18:50, mlh621 notifications@github.com a écrit
:

I'm not sure the original question was answered. I am looking for the
same
thing. The link in the example shows how to print the values of a final
solution after solving the optimization problem. For example x_gt = 1,
y_gt
= 2, etc. What I would like is a simple way to efficiently print out all
constraints in the model. For example x_gt + ygt >=1, sum(t, x_gt) = 1,
etc. Even though we code the constraints and add them via a solver.add()
command, it is still easy to miss small mistakes you make when coding
them.
It'd be nice to verify the constraint I add with the intended
mathematical
formulation.
Thanks!

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3KFEATLJJIK3ZTVVXTQRHJQJA5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECVL7BQ#issuecomment-548061062
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ACUPL3MUME5GXIMTSZCL4K3QRHJQJANCNFSM4ECEGROQ

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub,
or unsubscribe.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3P7YVKSEBEOQPHM7RLQRJF6FA5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECWOI7A#issuecomment-548201596,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MGMVLXZUDBKCPB7B3QRJF6FANCNFSM4ECEGROQ
.

I did see that function and tried using it, but the documentation doesn’t list what type of objects and args it accepts. It just says “**args.” I tried a solver object and that didn’t work! Do you know what type of object it is looking for? Thanks!!

On Thu, Oct 31, 2019 at 2:04 AM, Laurent Perron notifications@github.com wrote:

You can export the model as a string in the lp format

http://google.github.io/or-tools/python/ortools/linear_solver/pywraplp.html

Le jeu. 31 oct. 2019 à 03:26, mlh621 notifications@github.com a écrit :

Right now I’m experimenting with the default COIN-OR Mixed Integer
Programming solver

On Wed, Oct 30, 2019 at 5:06 PM, Laurent Perron notifications@github.com
wrote:

Which solver ?

Le mer. 30 oct. 2019 à 18:50, mlh621 notifications@github.com a écrit
:

I'm not sure the original question was answered. I am looking for the
same
thing. The link in the example shows how to print the values of a final
solution after solving the optimization problem. For example x_gt = 1,
y_gt
= 2, etc. What I would like is a simple way to efficiently print out all
constraints in the model. For example x_gt + ygt >=1, sum(t, x_gt) = 1,
etc. Even though we code the constraints and add them via a solver.add()
command, it is still easy to miss small mistakes you make when coding
them.
It'd be nice to verify the constraint I add with the intended
mathematical
formulation.
Thanks!

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3KFEATLJJIK3ZTVVXTQRHJQJA5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECVL7BQ#issuecomment-548061062
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ACUPL3MUME5GXIMTSZCL4K3QRHJQJANCNFSM4ECEGROQ

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub,
or unsubscribe.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3P7YVKSEBEOQPHM7RLQRJF6FA5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECWOI7A#issuecomment-548201596,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MGMVLXZUDBKCPB7B3QRJF6FANCNFSM4ECEGROQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I finally got it. Somehow the API for ExportModelAsLpFormat was not clear to me, but I found a random website with an example. The confusion was over how the solver object interacted with the function.

I found the below works and is a "pretty" way or printing the whole model!
print(solver.ExportModelAsLpFormat(False).replace('\\', '').replace(',_', ','), sep='\n')

is there a way to print a cp_model in c++?

std::cout << cp_model.Build().DebugString() << std::endl;

Do not expect a super nice output. But it is readable.
Laurent Perron | Operations Research | [email protected] | (33) 1 42 68 53
00

Le jeu. 23 janv. 2020 à 08:47, caxupin notifications@github.com a écrit :

is there a way to print a cp_model in c++?

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/520?email_source=notifications&email_token=ACUPL3M72UXMAC73UW4S4RTQ7HCZ3A5CNFSM4ECEGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJYARWA#issuecomment-577767640,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3KHS7V2U735IP74IQ3Q7HCZ3ANCNFSM4ECEGROQ
.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

husamrahmanh2o picture husamrahmanh2o  Â·  4Comments

TeodoraB21 picture TeodoraB21  Â·  3Comments

tapafe picture tapafe  Â·  4Comments

mlk621 picture mlk621  Â·  3Comments

KeremAslan picture KeremAslan  Â·  3Comments