laser-ufpb / CVRPController

CVRPController is used to run and calculate score for the 12th DIMACS Implementation Challenge: CVRP track.
MIT License
22 stars 4 forks source link

Clarification in DummySolver #15

Closed mrprajesh closed 2 years ago

mrprajesh commented 2 years ago

I understand that we have to drop our cpp solver file in the root folder location and mention the executable name while generating script in arguments like Solver1. Dummy solver prints results in stdout. What about reading input? should we read from stdin or from the argv[1] as input filename?

EduardoQueiroga commented 2 years ago

Hello @mrprajesh. I didn't understand precisely what you meant. Can you rephrase, please? Your solver should read the input instance path from the argv[1]. Thank you

mrprajesh commented 2 years ago

Thanks, @EduardoQueiroga. Your 2nd part had solved our issues partially. Let me explain what we are trying to do.

We are trying to use/understand the controller on our heuristic solver main.cpp to calculate PI scores.

  1. Could you help us if there is something wrong with the way we are using the controller?
  2. Did our routes/cost capture from the controller?
  3. Do you have any thoughts on the below error?
  4. If the isRounded arg is 0 should we round it and proceed or store distances as float and proceed?

Run cmd

$./build3/CVRPController resilience InstancesRounded/X-n120-k6.vrp 1 2064 1800 13332 1 build3/DummySolver 
build3/DummySolver: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by build3/DummySolver)

outfile DIMACS-CVRP-resilience-X-n120-k6.out

12th DIMACS Implementation Challenge: Vehicle Routing
CVRP track
Controller version: November 17, 2021
Competitor: resilience
"Red Hat Enterprise Linux Server release 7.6 (Maipo)"
Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz
hostid: 346835721
PassMark Single Thread Benchmark: 2064
Time factor: 1.03 (baseline 2000)
Instance: X-n120-k6
Distance type: 1
Standardized Time limit: 1800 secs
Local Machine Time Limit: 1744 secs
Base solution: 14665.200
BKS: 13332
Optimal: 1
Fri 03 Dec 2021 01:50:09 PM IST
timestamp: 1638519609
Solution value, local machine time, standardized time
Primal Integral: 10.0000000000
EduardoQueiroga commented 2 years ago

Dear @mrprajesh I understand your issue. Have you tried with an executable of your solver compiled externally to the controller (without replacing DummySolver.cpp)? If not, could you try that? This error is strange to me since you compiled the controller and your solver with the same compiler (this error is usually due to incompatibility with the standard C++ library)

mrprajesh commented 2 years ago

Thanks. I did try compiling it manually using g++ and ended up in the same error. I think there seem to be some issues with multiple GLIBC/GCC installed in our cluster machine. If there is a way to specify lib path during build then we should be good.

mrprajesh commented 2 years ago

Thanks, Eduardo. Sorry, the issue is due to our cluster machine here. We are able to make it run successfully on a different machine. Thank you.