From ab80df1392af2fe74f6d5b2a547cab0b5e9e0010 Mon Sep 17 00:00:00 2001 From: "lucas.bruzzone" <lucasbruzzone97@gmail.com> Date: Mon, 12 Nov 2018 19:53:53 -0300 Subject: [PATCH] Fix minor changes --- .../malva/rep/GA/newGA.req.cc | 53 ++++++++++--------- malva/rep/GA/newGA.req.cc | 23 +------- 2 files changed, 29 insertions(+), 47 deletions(-) diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc index c4a7d83..6697a62 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc @@ -412,39 +412,40 @@ skeleton newGA return !(*this == sol); } - void Solution::initialize() - { - for (int x = 0; x < _pbm.cantColumnas(); x++) + void Solution::initialize() { - for (int y = 0; y < _pbm.cantFilas(); y++) + for (int x = 0; x < _pbm.cantColumnas(); x++) { - _var[x][y] = 0; - } - } - - for (int i=0;i<_pbm.cantColumnas();i++) - { - int _firstPossible = 0; - int** _grupos = _pbm.datosColumnas(); - int* _cantGruposEnColumna = _pbm.cantGruposColumna(); - - for(int j=0; j < _cantGruposEnColumna[i]; j++) - { - int _lastPossible = _pbm.cantFilas() - _grupos[i][j]; - for (int k=j+1; k < _cantGruposEnColumna[i]; k++) + for (int y = 0; y < _pbm.cantFilas(); y++) { - _lastPossible -= _grupos[i][k] + 1; + _var[x][y] = 0; } + } + for (int i=0;i<_pbm.dimension();i++) + { + int _firstPossible = 0; + int** _grupos = _pbm.datosColumnas(); + int* _cantGruposEnColumna = _pbm.cantGruposColumna(); - int _startPosition = rand_int(_firstPossible, _lastPossible); - int _endPosition = _startPosition + _grupos[i][j] - 1; - for(int c = _startPosition; c < _endPosition; c++) + for(int j=0; j < _cantGruposEnColumna[i]; j++) { - _var[j][c] = 1; + int _lastPossible = _pbm.cantFilas() - _grupos[i][j]; + for (int k=j+1; k < _cantGruposEnColumna[i]; k++) + { + _lastPossible -= _grupos[i][k] + 1; + } + + int _startPosition = rand_int(_firstPossible, _lastPossible); + int _endPosition = _startPosition + _grupos[i][j] - 1; + for(int c = _startPosition; c < _endPosition; c++) + { + _var[j][c] = 1; + } + + _firstPossible = _endPosition + 1; } - } - } - } + } + } double Solution::fitness () { diff --git a/malva/rep/GA/newGA.req.cc b/malva/rep/GA/newGA.req.cc index cba5214..653d43b 100644 --- a/malva/rep/GA/newGA.req.cc +++ b/malva/rep/GA/newGA.req.cc @@ -428,27 +428,8 @@ skeleton newGA //cout << _pbm.dimension(); for (int i=0;i<_pbm.dimension();i++) { - int _firstPossible = 0; - int** _grupos = _pbm.datosColumnas(); - int* _cantGruposEnColumna = _pbm.cantGruposColumna(); - - for(int j=0; j < _cantGruposEnColumna[i]; j++) - { - int _lastPossible = _pbm.cantFilas() - _grupos[i][j]; - for (int k=j+1; k < _cantGruposEnColumna[i]; k++) - { - _lastPossible -= _grupos[i][k] + 1; - } - - int _startPosition = rand_int(_firstPossible, _lastPossible); - int _endPosition = _startPosition + _grupos[i][j] - 1; - for(int c = _startPosition; c < _endPosition; c++) - { - _var[j][c] = 1; - } - - _firstPossible = _endPosition + 1; - } + _var[i]=rand_int(0,_pbm.cantEmpleados() - 1); + //_var[i]=rand_int(0,3); } } -- GitLab