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
-
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 initialClp_Simplex
structure. What is the right way to extract the warm/hot start information from the initialClp_Simplex
and pass it to the newClp_Simplex
structures?I see a
CoinWarmStartBasis * getBasis () const
method in the documentation https://www.coin-or.org/Doxygen/Clp/classClpSimplex.html but nosetBasis
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?
Beta Was this translation helpful? Give feedback.
All reactions