Closed mrprajesh closed 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
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.
.cpp
file to DummySolver.cpp
make test
. It is passing..out
file is generated.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
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)
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.
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.
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 likeSolver1
.Dummy solver
prints results in stdout. What about reading input? should we read from stdin or from the argv[1] as input filename?