Witam
Piszę program rozwiązujący problem transportowy algorytmem genetycznym.
Problem na jaki się natknąłem występuje przy krzyżowaniu rodziców. Otóż podążam za książką algorytmy genetyczne + struktury danych = programy ewolucyjne Zbigniewa Michalewicza. Mamy macierz (tam jest nazwana REM), która składa się z 0 i 1 oraz w każdym wierszu i kolumnie posiada parzystą liczbę jedynek. Musimy ją rozbić na 2 macierze tych samych rozmiarów (REM1, REM2), gdzie REM = REM1 + REM2 i liczba jedynek w wierszach i kolumnach REM1 i REM2 jest taka sama i równa połowie ilości jedynek w odpowiadających wierszach i kolumnach REM.
Dla przykładu
REM
1 0 1 1 1
0 0 0 0 0
0 1 1 1 1
1 1 0 0 0
REM1
0 0 1 0 1
0 0 0 0 0
0 1 0 1 0
1 0 0 0 0
REM2
1 0 0 1 0
0 0 0 0 0
0 0 1 0 1
0 1 0 0 0
Siedzę już drugi dzień próbując rozgryźć ten algorytm, jednak za każdym razem jak coś wymyślę pojawia się kolejny przypadek, który niszczy cały mój dotychczasowy tok myślenia.
Ma ktoś może pomysł na to, bądź rozwiązywał kiedyś ten lub podobny problem?