Code Monkey home page Code Monkey logo

optframe / optframe Goto Github PK

View Code? Open in Web Editor NEW
68.0 7.0 9.0 21.63 MB

OptFrame - C++17 (and C++20) Optimization Framework in Single or Multi-Objective. Supports classic metaheuristics and hyperheuristics: Genetic Algorithm, Simulated Annealing, Tabu Search, Iterated Local Search, Variable Neighborhood Search, NSGA-II, Genetic Programming etc. Examples for Traveling Salesman, Vehicle Routing, Knapsack Problem, etc.

Home Page: https://optframe.readthedocs.io

License: MIT License

Java 0.49% C++ 97.79% Makefile 0.19% Roff 0.03% Smarty 0.39% Shell 0.56% C 0.05% Starlark 0.34% Dockerfile 0.06% CMake 0.09%
metaheuristics vns ils travelling-salesman-problem timetabling heuristics optimization optimization-framework optimization-tools genetic-algorithm

optframe's Introduction

OptFrame

Current total lines. LGPLv3 License. MIT License.

Documentation Status

C++17 C++20

OptFrame - C++ Optimization Framework

OptFrame 5.1.0 is released.

For optframe python version, see github.com/optframe/pyoptframe-dev

Project uses semantic versioning, so to patch it, run: bumpver update --patch

Now, with newest C++20 features and integrated Unit Testing for user projects and examples (still ongoing work). Scanner++ library is also dettached independent project now. Remember to clone this repo using --recursive option, so you don't miss anything ;)

Major changes happened from v3 to v4, so we will need to update our tutorials...


Official Documentation on ReadTheDocs

Try the Demos on ReadTheDocs Quickstart

Also we provide a C library for Windows, Linux and Mac:

Note that OptFrame website may have obsolete documentation and examples:

Check https://optframe.github.io/docs/quick-start-guide/

Intended changes for Major 5

  • support global library for multiple languages
  • fix multiple inheritance (DONE!)
  • rename src/ to include/ and follow C++ package standards (DONE!)
  • no 'using namespace std'
  • change to more compact and consistent formatting style (using cpplint tool)

Project Structure

Project is organized in three main folders: src, libs, tests and bin.

  • On src/OptFrame and tests/OptFrame are code and testing for OptFrame framework itself.
  • On Examples you can find code and tests for the provided Examples.
  • On MyProjects you can find code and tests for your own codes.
  • On bin, you can find classic optframe-mct.sh script, that will generate a new project X on MyProjects/X/src folder (and tests on MyProjects/X/tests).
  • On libs you can find third-party libraries (including testing and benchmarking, as they are used widely on examples and subprojects) Tests are provided via catch2, benchmaking via benchmark library, and also scannerpplib (Scanner++ library) for stream/file processing.

OptFrame Functional Core (FCore) is also provided (strict c++20):

  • On src/OptFCore and Examples/FCore-Examples are code and testing for FCore framework itself.

C++ and Development Requirements

The following requirements apply for projects (and subprojects):

  • OptFrame
    • c++17 - tested on gcc-7 (without flags -fconcepts)
    • c++20 - BEST OPTION!
  • FCore - c++20 - tested on gcc-10.1 with flags -fcoroutines
  • Scanner++ - c++11 - tested on gcc-7

To install gcc-10.1, see these Instructions.

To learn more about bazel build, versioning and general development requirements, see DEVEL.md.

IMPORTANT: Run make check for full check (need Bazel Build).

Concepts General

To learn a little bit of Optimization Concepts and C++ Concepts behind this project, see OPTCONCEPTS.md

Examples

Please take a deep look at Examples folder, and build them by simply typing make there. Each example is connected to some previous literature work, and can demonstrate how each metaheuristic work on practice. We know some detailed tutorial is still missing, but we hope to provide more info as soon as possible. Feel free to open issues and new discussions on GitHub ;)

Using Bazel

Each example is itself an independent workspace. For this reason, each example has a reference to @OptFrame (as local_repository), while optframe root itself has a self reference for @OptFrame (as local_repository).

This allows building all examples from root, with bazel build ... or bazel build //Examples/... One can also jump into each independent example and build it locally.

See available examples on bazel: bazel query //Examples/...

Here are some examples and build advices for bazel.

FCore-Examples

From root:

  • bazel build @FCore-Examples//...
  • bazel run @FCore-Examples//src:app_TSPfcore

Binary will be located at ./bazel-bin/external/FCore-Examples/src/app_TSPfcore

From example (cd Examples/FCore-Examples/):

  • bazel clean
  • bazel build ...
  • bazel run //src:app_TSPfcore

Binary will be located at ./Examples/FCore-Examples/bazel-bin/src/app_TSPfcore

EternityII Example

From root:

  • bazel build @EternityII//...
  • cd ./bazel-bin/external/EternityII/app_Example.runfiles/EternityII/
  • ./app_Example

Binary and data will be located at ./bazel-bin/external/EternityII/app_Example.runfiles/EternityII/

From example (cd Examples/EternityII/):

  • bazel clean
  • bazel build ...
  • bazel run //:app_Example

Binary and data will be located at ./Examples/EternityII/bazel-bin/app_Example.runfiles/__main__/

Submodules

Getting submodules: git submodule update --init --recursive and git pull --recurse-submodules.

Using MCT script - Make a Compilable Thing!

Just type cd ./bin && ./mct.sh (or make mct) and follow the instructions on screen. You can find your new project on src/MyProjects/ (and tests on tests/MyProjects/).

A brief history of OptFrame

For a brief history of OptFrame v1, v2, v3, v4 and v5 (current), see HISTORY.md.

Examples

Interesting examples are available (see Examples folder):

  • EternityII: Eternity II Puzzle - Example Eternity II
  • HFM: HFM forecast framework by @vncoelho - Example HFM
  • HFMVRP: Heterogeneous Fleet Vehicle Routing Problem - Example HFMVRP
  • KP: Knapsack Problem (v1) - Example KP
  • KP2: Knapsack Problem (v2)
  • MITSP: Multi Improvement Dynamic Programming for Traveling Salesman Problem - Example MITSP
  • MODM: Multi Objective Direct Marketing Problem - Example MODM
  • OPM: Open Pit Mining Operational Planning Problem
  • OptHS: OptHouse Cleaning Scheduling - Example OptHS
  • PMedCap: Capacitated P-Median Problem - Example PMedCap
  • PN: Number Partition Problem - Example PN
  • SVRPDSP: Single Vehicle Routing Problem with Deliveries and Selective Pickups
  • TSP: Traveling Salesman Problem (v1) - Example TSP
  • TSP2: Traveling Salesman Problem (v2)

Building Examples

To build examples, just type make on Examples folder.

The following examples are currently prioritary, due to heavy burden for maintaining all of them:

  • pmedcap
  • kp
  • tsp
  • hfvrpmt
  • mitsp
  • etii
  • opths
  • gfp (?)
  • hfm
  • modm

For more information on the others, please file an Issue.

Metaheuristic Implementations on Examples

These examples explore several (meta)-heuristic implementations, such as:

  • Simulated Annealing
  • Genetic Algorithm
  • Memetic Algorithm
  • Variable Neighborhood Search
  • Iterated Local Search
  • Tabu Search
  • ...

Multi-Objective metaheuristics:

  • NSGA-II
  • MOVNS
  • 2PPLS
  • ...

Installation

OptFrame is organized in several C++ headers. To install it system-wide (in linux), just type make install (sudo will be necessary here):

  • headers will be put on /usr/local/include
  • examples, src and tests will be put on /usr/local/optframe

We recommend to run make test-install after that, to ensure everything is fine!

VSCode Settings

We recommend the following settings for vscode (.vscode/settings.json):

{
    "[cpp]": {
        "editor.tabSize": 3,
        "editor.detectIndentation": false
    },
    "C_Cpp.intelliSenseEngine": "Tag Parser",
    "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle : Google , ColumnLimit : 0, IndentWidth: 2, AccessModifierOffset: -1}",
    "testMate.cpp.test.executables": "{tests,build,Build,BUILD,out,Out,OUT}/**/*{test,Test,TEST}*"
}

We recommend Microsoft C/C++ and C++ TestMate extensions.

Citation

Cite this in your paper as:

Coelho, I.M., Ribas, S., Perché, M.H.P., Munhoz, P., Souza, M.J.F., Ochi, L.S. (2010). OptFrame: a computational framework for combinatorial optimization problems. In Anais do XLII Simpósio Brasileiro de Pesquisa Operacional (SBPO). Bento Gonçalves-RS, pp 1887-1898.

@article{optframe2010,
    author = {Igor Coelho and Sabir Ribas and Mário Henrique de Paiva Perché and Pablo Munhoz and Marcone Souza and Luiz Ochi},
    year = {2010},
    month = {08},
    pages = {1887-1898},
    title = {OptFrame: a computational framework for combinatorial optimization problems},
    journal = "Simpósio Brasileiro de Pesquisa Operacional"
}
@article{optframe2020,
    author = {Coelho, Igor M. and N. Coelho, Vitor and  Zudio, Anderson and  Araújo, Rodolfo and Haddad, Matheus N. and Munhoz, Pablo Luiz A. and Maia, Breno S. M. and Ochi, Luiz Satoru and Souza,  Marcone Jamilson F.},
    year = {2020},
    title = {Microbenchmark Studies in OptFrame: a 10-Year Anniversary},
    journal = "Simpósio Brasileiro de Pesquisa Operacional"
}

License

Please use the following SPDX identifier: SPDX-License-Identifier: MIT OR LGPL-3.0-or-later

OptFrame maintainers @igormcoelho and @vncoelho

Copyright (C) 2007-2023

The OptFrame team

optframe's People

Contributors

andersonzm avatar fellipessanha avatar igormcoelho avatar janiocarlos avatar mariohpp avatar mathaddad avatar pablomunhoz avatar rodoufu avatar sabirribas avatar vncoelho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

optframe's Issues

Check possibility of removing double evaluation on MoveCost

// need to update 's' together with reevaluation of 'e' => slower (may perform reevaluation)

		// TODO: in the future, consider moves with NULL reverse (must save original solution/evaluation)
		assert(m.hasReverse());

		// saving 'outdated' status to avoid inefficient re-evaluations
		bool outdated = e.outdated;
		// apply move to both Evaluation and Solution
		Move<R, ADS>* rev = applyMove(e, m, s);

XXXXXXXXX

// apply reverse move in order to get the original solution back
Move<R, ADS>* ini = applyMoveReevaluate(e, *rev, s); //TODO - Why do not save ev at the begin? Extra evaluation


Apply reverse is great, I do not think that there is another feasible solution for returning the solution back to original without copying it.
However, on the other hand, for the evaluation, there are not to many application that consider a previous evaluation to update value.
I suggest to remove the Reevaluation step and generate a single Evaluation for the neighbor solution.

Adopt move semantics and avoid reference returns

Following student advices (Daniel, Anderson and Rodolfo) and my dear friend Martin Drozdik, reference returns should be avoided and (beautifully) replaced with move semantics and return value optimization.
This feature should start an innovation cycle that will bring us to OptFrame 3.0 :)

Compilation error when using BRKGA.hpp

If I add an include the code breaks:
#include "../OptFrame/Heuristics/EvolutionaryAlgorithms/BRKGA.hpp"

$ make
g++ -c -O3 --std=c++17 -fconcepts -D_GLIBCXX_DEBUG mainNPP.cpp -o mainNPP.o
In file included from ../OptFrame/Heuristics/EvolutionaryAlgorithms/BRKGA.hpp:27,
                 from mainNPP.cpp:14:
../OptFrame/Heuristics/EvolutionaryAlgorithms/../../Population.hpp: In member function ‘std::__debug::vector<double> optframe::Population<R, ADS, S>::getFitness(int) const’:
../OptFrame/Heuristics/EvolutionaryAlgorithms/../../Population.hpp:128:26: error: could not convert ‘pos->((const optframe::Population<R, ADS, S>*)this)->optframe::Population<R, ADS, S>::pFitness.std::__debug::vector<std::__debug::vector<optframe::Evaluation> >::operator[]()’ from ‘vector<optframe::Evaluation>’ to ‘vector<double>’
       return pFitness[pos];
                          ^
make: *** [makefile:9: mainNPP.o] Error 1

Source code:
https://github.com/rodoufu/optframe/blob/number_partition/src/MyProjects/mainNPP.cpp

Examples - HFM - Segmentation fault

==22871== Invalid read of size 8
==22871==    at 0x163474: operator()<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > > > (predefined_ops.h:143)
==22871==    by 0x163474: __unguarded_partition<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1905)
==22871==    by 0x163474: __unguarded_partition_pivot<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1923)
==22871==    by 0x163474: void std::__introsort_loop<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}> >(__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}>, long, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}>) (stl_algo.h:1952)
==22871==    by 0x163768: __sort<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1968)
==22871==    by 0x163768: sort<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > (stl_algo.h:4868)
==22871==    by 0x163768: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int) (NGES.hpp:269)
==22871==    by 0x1654A1: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::search(optframe::SOSC&, optframe::CopySolution<RepHFM, decltype(nullptr)> const*, optframe::Evaluation<double> const*) (NGES.hpp:430)
==22871==    by 0x111881: HFM::ForecastClass::run(int, int, int) [clone .isra.73] (ForecastClass.hpp:358)
==22871==    by 0x134B35: stockMarketForecasting(int, char**) (stockMarket.hpp:168)
==22871==    by 0x111345: main (mainHFM.cpp:172)
==22871==  Address 0x80a80a8 is 8 bytes before a block of size 5,600 alloc'd
==22871==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22871==    by 0x14BCEE: allocate (new_allocator.h:111)
==22871==    by 0x14BCEE: allocate (alloc_traits.h:436)
==22871==    by 0x14BCEE: _M_allocate (stl_vector.h:172)
==22871==    by 0x14BCEE: _M_allocate_and_copy<std::move_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**> > (stl_vector.h:1260)
==22871==    by 0x14BCEE: std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >::reserve(unsigned long) (vector.tcc:73)
==22871==    by 0x163B0D: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int) (NGES.hpp:260)
==22871==    by 0x1654A1: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::search(optframe::SOSC&, optframe::CopySolution<RepHFM, decltype(nullptr)> const*, optframe::Evaluation<double> const*) (NGES.hpp:430)
==22871==    by 0x111881: HFM::ForecastClass::run(int, int, int) [clone .isra.73] (ForecastClass.hpp:358)
==22871==    by 0x134B35: stockMarketForecasting(int, char**) (stockMarket.hpp:168)
==22871==    by 0x111345: main (mainHFM.cpp:172)
==22871== 
==22871== Invalid read of size 8
==22871==    at 0x163417: evaluation (Evaluation.hpp:260)
==22871==    by 0x163417: betterThan (Direction.hpp:87)
==22871==    by 0x163417: betterThan (Evaluator.hpp:369)
==22871==    by 0x163417: operator() (NGES.hpp:266)
==22871==    by 0x163417: operator()<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > > > (predefined_ops.h:143)
==22871==    by 0x163417: __unguarded_partition<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1905)
==22871==    by 0x163417: __unguarded_partition_pivot<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1923)
==22871==    by 0x163417: void std::__introsort_loop<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}> >(__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}>, long, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}>) (stl_algo.h:1952)
==22871==    by 0x163768: __sort<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1968)
==22871==    by 0x163768: sort<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > (stl_algo.h:4868)
==22871==    by 0x163768: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int) (NGES.hpp:269)
==22871==    by 0x1654A1: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::search(optframe::SOSC&, optframe::CopySolution<RepHFM, decltype(nullptr)> const*, optframe::Evaluation<double> const*) (NGES.hpp:430)
==22871==    by 0x111881: HFM::ForecastClass::run(int, int, int) [clone .isra.73] (ForecastClass.hpp:358)
==22871==    by 0x134B35: stockMarketForecasting(int, char**) (stockMarket.hpp:168)
==22871==    by 0x111345: main (mainHFM.cpp:172)
==22871==  Address 0x80 is not stack'd, malloc'd or (recently) free'd
==22871== 
==22871== 
==22871== Process terminating with default action of signal 11 (SIGSEGV)
==22871==  Access not within mapped region at address 0x80
==22871==    at 0x163417: evaluation (Evaluation.hpp:260)
==22871==    by 0x163417: betterThan (Direction.hpp:87)
==22871==    by 0x163417: betterThan (Evaluator.hpp:369)
==22871==    by 0x163417: operator() (NGES.hpp:266)
==22871==    by 0x163417: operator()<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > > > (predefined_ops.h:143)
==22871==    by 0x163417: __unguarded_partition<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1905)
==22871==    by 0x163417: __unguarded_partition_pivot<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1923)
==22871==    by 0x163417: void std::__introsort_loop<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}> >(__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}>, long, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int)::{lambda(optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*)#1}>) (stl_algo.h:1952)
==22871==    by 0x163768: __sort<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, __gnu_cxx::__ops::_Iter_comp_iter<optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > > (stl_algo.h:1968)
==22871==    by 0x163768: sort<__gnu_cxx::__normal_iterator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >**, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*> > >, optframe::NGES<S, XEv>::competition(optframe::NGES<S, XEv>::NGESPopulation&, optframe::NGES<S, XEv>::NGESPopulation&, S&, optframe::Evaluation<double>&, int&, int const&, int) [with S = optframe::CopySolution<RepHFM>; XEv = optframe::Evaluation<double>]::<lambda(optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*, optframe::NGESInd<optframe::CopySolution<RepHFM>, optframe::Evaluation<double> >*)> > (stl_algo.h:4868)
==22871==    by 0x163768: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::competition(std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, std::vector<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*, std::allocator<optframe::NGESInd<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >*> >&, optframe::CopySolution<RepHFM, decltype(nullptr)>&, optframe::Evaluation<double>&, int&, int const&, int) (NGES.hpp:269)
==22871==    by 0x1654A1: optframe::NGES<optframe::CopySolution<RepHFM, decltype(nullptr)>, optframe::Evaluation<double> >::search(optframe::SOSC&, optframe::CopySolution<RepHFM, decltype(nullptr)> const*, optframe::Evaluation<double> const*) (NGES.hpp:430)
==22871==    by 0x111881: HFM::ForecastClass::run(int, int, int) [clone .isra.73] (ForecastClass.hpp:358)
==22871==    by 0x134B35: stockMarketForecasting(int, char**) (stockMarket.hpp:168)
==22871==    by 0x111345: main (mainHFM.cpp:172)
==22871==  If you believe this happened as a result of a stack
==22871==  overflow in your program's main thread (unlikely but
==22871==  possible), you can try to increase the size of the
==22871==  main thread stack using the --main-stacksize= flag.
==22871==  The main thread stack size used in this run was 8388608.
==22871== 
==22871== HEAP SUMMARY:
==22871==     in use at exit: 891,067 bytes in 10,265 blocks
==22871==   total heap usage: 5,996,239 allocs, 5,985,974 frees, 218,820,314 bytes allocated
==22871== 
==22871== LEAK SUMMARY:
==22871==    definitely lost: 0 bytes in 0 blocks
==22871==    indirectly lost: 0 bytes in 0 blocks
==22871==      possibly lost: 0 bytes in 0 blocks
==22871==    still reachable: 891,067 bytes in 10,265 blocks
==22871==         suppressed: 0 bytes in 0 blocks
==22871== Rerun with --leak-check=full to see details of leaked memory
==22871== 
==22871== For counts of detected and suppressed errors, rerun with: -v
==22871== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)

Eu acho que tinha que tirar o O3 do makefile, né @igormcoelho ?
Depois vou olhar o erro com calma.

Error on HFM Pareto when saving file

Printing pareto front forecast accuracy measures...
1.22419		2502238.17515		
5.21267		20.55019		
app_HFM: ../../src/OptFrame/Heuristics/ILS/MO/../../../Pareto.hpp:318: void optframe::Pareto<S, XMEv, XMES>::exportParetoFront(std::__cxx11::string, const char*) [with S = optframe::Solution<RepHFM, std::nullptr_t>; XMEv = optframe::MultiEvaluation<>; XMES = std::pair<optframe::Solution<RepHFM, std::nullptr_t>, optframe::MultiEvaluation<> >; std::__cxx11::string = std::__cxx11::basic_string<char>]: Assertion `fPF' failed.

Very strange error @vncoelho

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.