Right way to warm/hot start CLP #205
Replies: 3 comments 2 replies
-
|
ClpSimplex.?pp - writeBasis and readBasis.
…On 09/09/2021 16:54, Florian Fontan wrote:
Hi,
I have a first mode which I solve with CLP.
I would like to solve variants of the problem for which only the bounds
change. These new problems are in different |Clp_Simplex| structures
which have the same size and the same variable ordering as the initial
|Clp_Simplex| structure. What is the right way to extract the warm/hot
start information from the initial |Clp_Simplex| and pass it to the new
|Clp_Simplex| structures?
I see a |CoinWarmStartBasis * getBasis () const| method in the
documentation https://www.coin-or.org/Doxygen/Clp/classClpSimplex.html
<https://www.coin-or.org/Doxygen/Clp/classClpSimplex.html> but no
|setBasis| method.
I would also like to solve variants with different objectives or
additional constraints. Is there something useful that can be done to
warm/hot start Clp in this case?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#205>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABWJYHAUR2CXS3FGLHFYXCDUBDKERANCNFSM5DXOQO5Q>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
1 reply
-
|
With C++
If just bounds changing (any way - no change in number rows/columns) -
ClpSimplex alreadySolved and ClpSimplex modified
modified.moveInfo(&alreadySolved); // If just bounds then could be
,true) just to do basis status
Will work with different objectives.
Not experienced using C interface.
…On 10/09/2021 13:20, Florian Fontan wrote:
These methods will cause disk accesses. I would have expected some C/C++
structures to store rather than files to write. Is the best solution to
copy the |ClpSimplex| object with the copy constructor and then to
modify it? In this case, I can't find the copy constructor in the C
interface https://www.coin-or.org/Doxygen/Clp/Clp__C__Interface_8h.html
<https://www.coin-or.org/Doxygen/Clp/Clp__C__Interface_8h.html>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#205 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABWJYHBZR4EWRRU3V32DYI3UBHZYBANCNFSM5DXOQO5Q>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Looking at Clp_C_Interface.h
Clp_Simplex * alreadySolved and Clp_Simplex *modified
Clp_copyinStatus(modified, Clp_statusArray(alreadySolved));
…On 10/09/2021 13:20, Florian Fontan wrote:
These methods will cause disk accesses. I would have expected some C/C++
structures to store rather than files to write. Is the best solution to
copy the |ClpSimplex| object with the copy constructor and then to
modify it? In this case, I can't find the copy constructor in the C
interface https://www.coin-or.org/Doxygen/Clp/Clp__C__Interface_8h.html
<https://www.coin-or.org/Doxygen/Clp/Clp__C__Interface_8h.html>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#205 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABWJYHBZR4EWRRU3V32DYI3UBHZYBANCNFSM5DXOQO5Q>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
fontanf
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I have a first mode which I solve with CLP.
I would like to solve variants of the problem for which only the bounds change. These new problems are in different
Clp_Simplexstructures which have the same size and the same variable ordering as the initialClp_Simplexstructure. What is the right way to extract the warm/hot start information from the initialClp_Simplexand pass it to the newClp_Simplexstructures?I see a
CoinWarmStartBasis * getBasis () constmethod in the documentation https://www.coin-or.org/Doxygen/Clp/classClpSimplex.html but nosetBasismethod.I would also like to solve variants with different objectives or additional constraints. Is there something useful that can be done to warm/hot start Clp in this case?
Beta Was this translation helpful? Give feedback.
All reactions