globals [numC nomC sur1 sur2 sur3 sur4 sr1 sr2 sr3 sr4 cpt aa bb cc dd ee bbC ccC ddC eeC jj rr tt yy uu rrC ttC yyC uuC lasttime x1 y1 calib1 calib2 calib3 calib4 x2 x3 x4 y2 y3 y4 nbTot nbenv1 nbenv2 nbenv3 nbenv4 nbhors_ports nbtotS1 nbtotS2 nbtotS3 nbtotS4 SPoid1F SPoid1NF SPoid2F SPoid2NF SPoid3F SPoid3NF SPoid4F SPoid4NF SPoidBF SPoidBNF Spoidenv1 Spoidenv2 Spoidenv3 Spoidenv4 SpoidB XX xxy yyy ] breed [conteneurs conteneur] breed [conteneursF1Fr conteneurF1Fr] breed [conteneursF1NFr conteneurF1NFr] breed [conteneursF2Fr conteneurF2Fr] breed [conteneursF2NFr conteneurF2NFr] breed [conteneursF3Fr conteneurF3Fr] breed [conteneursF3NFr conteneurF3NFr] breed [conteneursF4Fr conteneurF4Fr] breed [conteneursF4NFr conteneurF4NFr] breed [conteneursBNF conteneurBNF] breed [conteneursBF conteneurBF] breed [Ports Port] breed [bateaux bateau] ;conteneurs-own [tar id fragile Num_port poid capacit type_ description nom] ;conteneursF-own [tar id fragile Num_port poid capacit type_ description nom] Ports-own[nomPo] bateaux-own [nomb Idb pays] links-own[ len] turtles-own [ fragile Num_port Poid Descr ] to Init set jj [who] of turtles with [pcolor = black] write "Initialisation..." clear-all preparer-ports preparer-cont calcul_Poid prepFrag identification Calc les-ports set-default-shape conteneurs "box" set-default-shape Ports "flag" set-default-shape conteneursF1Fr "box" set-default-shape conteneursF1NFr "box" set-default-shape conteneursF2Fr "box" set-default-shape conteneursF2NFr "box" set-default-shape conteneursF3Fr "box" set-default-shape conteneursF3NFr "box" set-default-shape conteneursF4Fr "box" set-default-shape conteneursF4NFr "box" set-default-shape conteneursBNF "box" set-default-shape conteneursBF "box" end to calcCont set nbenv1 count turtles with [pcolor = 105] set nbenv2 count turtles with [pcolor = 43] set nbenv3 count turtles with [pcolor = 64] set nbenv4 count turtles with [pcolor = pink] set nbhors_ports count turtles with [pcolor = 10] + count turtles with [pcolor = 0] set nbtot nbenv1 + nbenv2 + nbenv3 + nbenv4 + nbhors_ports - 1 set nbtotS1 nbenv1 + nbhors_ports - 1 set nbtotS2 nbenv2 + nbhors_ports - 1 set nbtotS3 nbenv3 + nbhors_ports - 1 set nbtotS4 nbenv4 + nbhors_ports - 1 end to Go CSV calcCont calcul_Poid Depl_cont afficher set numC [who] of conteneurs set nomC [who] of conteneurs set jj sort [who] of turtles with [pcolor = 0] connect Calc dist_Ports_bateau prepFrag if ticks = 130 [stop] end to prepFrag ;port1 ask patch -7 12 [set plabel "Non Fragile"] ask patch -12 14 [set plabel "Fragile"] ;Port 2 ask patch 13 12 [set plabel " Non Fragile"] ask patch 8 14 [set plabel "Fragile"] ;Port3 ask patch 13 -11 [set plabel "Non Fragile"] ask patch 8 -13 [set plabel "Fragile"] ;Port 4 ask patch -12 -13 [set plabel "Fragile"] ask patch -7 -11 [set plabel "Non Fragile"] end to CSV let fich word "D:\\netlogoCSV\\" Enregistrer_sous export-all-plots fich end to afficher if Afficher1? [set-current-plot "%Conteneurs/temps" set-current-plot-pen "Port 3" plot (count turtles with [pcolor = 64 ]) / (count turtles - 5) * 100 set-current-plot-pen "Port 4" plot (count turtles with [pcolor = pink ]) / (count turtles - 5) * 100 set-current-plot-pen "Port 1" plot (count turtles with [pcolor = 105 ]) / (count turtles - 5) * 100 set-current-plot-pen "Port 2" plot (count turtles with [pcolor = 43 ]) / (count turtles - 5) * 100] ; set-current-plot-pen "hors port" ; plot (count turtles with [pcolor = black ]) / (count turtles - 5) * 100 if Afficher2? [set-current-plot "Dist/temps" set-current-plot-pen "dist1" plot calib1 set-current-plot-pen "dist2" plot calib2 set-current-plot-pen "dist3" plot calib3 set-current-plot-pen "dist4" plot calib4 ] if Afficher3? [set-current-plot "Fragiles/temps" set-current-plot-pen "Env1" plot bbC set-current-plot-pen "Env2" plot ccC set-current-plot-pen "Env3" plot ddC set-current-plot-pen "Env4" plot eeC ] if Afficher4? [ set-current-plot "NonFragiles/temps" set-current-plot-pen "Envv1" plot rrC set-current-plot-pen "Envv2" plot ttC set-current-plot-pen "Envv3" plot yyC set-current-plot-pen "Envv4" plot uuC ] set-current-plot "conteneurs non embarquer" set-current-plot-pen "Conteneur" plot nbtot end to Calc set aa sort [who] of turtles with [fragile = "oui"] ask patch -12 14 [ let trtt turtles-here set bbC count trtt set bb [who ] of trtt ] ask patch 8 14 [ let trtt turtles-here set ccC count trtt set cc [who ] of trtt ] ask patch -12 -13 [ let trtt turtles-here set eeC count trtt set ee [who ] of trtt ] ask patch 8 -13 [ let trtt turtles-here set ddC count trtt set dd [who ] of trtt ] ;----------------- ask patch -7 12 [ let trt turtles-here set rrC count trt set rr [who ] of trt ] ask patch 13 12 [ let trt turtles-here set ttC count trt set tt [who ] of trt] ask patch 13 -11 [ let trt turtles-here set yyC count trt set yy [who ] of trt ] ask patch -7 -11 [ let trt turtles-here set uuC count trt set uu [who ] of trt ] end to connect ask patch -13 6 [let portnum1 turtles-here ask portnum1[ ask conteneur 0 [ create-links-to portnum1[ set color 105 set label "connect.." set label-color 105]]]] ask patch 14 6 [let portnum2 turtles-here ask portnum2[ ask conteneur 0 [ create-links-to portnum2[ set color 43 set label "connect.." set label-color 43]]]] ask patch 15 -5 [let portnum3 turtles-here ask portnum3[ ask conteneur 0 [ create-links-to portnum3[ set color 64 set label "connect.." set label-color 64]]]] ask patch -13 -5 [let portnum4 turtles-here ask portnum4[ ask conteneur 0 [ create-links-to portnum4[ set color pink set label "connect.." set label-color pink]]]] end to dist_Ports_bateau ask patch -13 -5 [let portnum4 turtles-here ask portnum4[ ask conteneur 0 [ set x4 xcor set y4 ycor ] ask portnum4[ set calib4 distancexy x4 y4] print word "la distance entre le navire et le port n° 4 est : "calib4 ]] ask patch 15 -5 [let portnum3 turtles-here ask portnum3[ ask conteneur 0 [ set x3 xcor set y3 ycor ] ask portnum3 [ set calib3 distancexy x3 y3 ] print word "la distance entre le navire et le port n° 3 est : "calib3 ]] ask patch 14 6 [let portnum2 turtles-here ask portnum2[ ask conteneur 0 [ set x2 xcor set y2 ycor ] ask portnum2 [ set calib2 distancexy x2 y2 ] print word "la distance entre le navire et le port n° 2 est : "calib2 ]] ask patch -13 6 [let portnum1 turtles-here ask portnum1[ ask conteneur 0 [ set x1 xcor set y1 ycor ] ask portnum1 [ set calib1 distancexy x1 y1 ] print word "la distance entre le navire et le port n° 1 est : "calib1 ]] end to dep_Cont_bat_NF ask conteneursBNF[ ifelse pcolor = black [ fd 0.2] [ask conteneursBNF with [pcolor = 10][ facexy 8 -6 fd 0.2 set heading 90] ]] end to dep_Cont_bat_F ask conteneursBF[ ifelse pcolor = black [ fd 0.2] [ask conteneursBF with [pcolor = 10][ facexy 8 -6 fd 0.2 set heading 90] ]] end to Depl_cont tick ask conteneurs[ dep_Cont_bat_NF dep_Cont_bat_F ifelse pcolor = black [ fd 0.8] [ask conteneurs with [pcolor = 10][ facexy 8 -6 fd 1 set heading 90] dep_noir ask conteneurs with [pcolor = 43 ] [ dep_Env2FBat dep_Env2NFBat dep_Env2F1 dep_Env2NF1 dep_Env2F2 dep_Env2NF2 dep_Env2F3 dep_Env2NF3 dep_Env2F4 dep_Env2NF4 ifelse Num_port = "2" [set XX SPoid1F + SPoid1NF + SPoidBF + Poid_B_NF move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [ set plabel who ] ask conteneurs with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ] ] [ if nbtotS2 > Nb_Max_Cont [ user-message( word "on est sur le port n° 2 Il y a " word (nbtotS2 - Nb_Max_Cont) " conteneur (s) en sur charge ") stop] facexy 8 -6 fd 1.8 set heading 167] ] ask conteneurs with [pcolor = 105] [dep_Env1FBat dep_Env1NFBat dep_Env1F1 dep_Env1FNf1 dep_Env1F2 dep_Env1NF2 dep_Env1F3 dep_Env1NF3 dep_Env1F4 dep_Env1NF4 ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneurs with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [;facexy 11 -10 fd 1.8 set heading 90 if nbtotS1 > Nb_Max_Cont [ user-message( word "on est sur le port n° 1 Il y a " word (nbtotS1 - Nb_Max_Cont) " conteneur (s) en sur charge ") stop] ]] ask conteneurs with [pcolor = 64][ dep_Env3FBat dep_Env3NFBat dep_Env3F1 dep_Env3FNf1 dep_Env3F2 dep_Env3NF2 dep_Env3F3 dep_Env3NF3 dep_Env3F4 dep_Env3NF4 ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneurs with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 1.8 set heading -99 facexy -9 -7 if nbtotS3 > Nb_Max_Cont [ user-message( word "on est sur le port n° 3 Il y a " word (nbtotS3 - Nb_Max_Cont) " conteneur (s) en sur charge ") stop] ]] ask conteneurs with [pcolor = pink][ dep_Env4FBat dep_Env4NFBat dep_Env4F1 dep_Env4FNf1 dep_Env4F2 dep_Env4NF2 dep_Env4F3 dep_Env4NF3 dep_Env4F4 dep_Env4NF4 ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneurs with [pcolor = 133] [ifelse fragile = "non" [move-to patch -7 -11 set pcolor white] [ move-to patch -12 -13 set pcolor yellow] ]] [ fd 1.8 set heading 0 if nbtotS4 > Nb_Max_Cont [ user-message (word "on est sur le port n° 4 Il y a " word (nbtotS4 - Nb_Max_Cont) " conteneur (s) en sur charge ") stop] ]]] ] end ;;---------------------------------------------------Debut Cont Fixe non fragile Env 2 -------------------------- to dep_Env1NF2 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF2NFr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2NFr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 1.5 set heading 88]] end to dep_Env2NF2 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF2NFr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2NFr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [ facexy 8 -6 fd 2.3 set heading 180 ]] end to dep_Env3NF2 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF2NFr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2NFr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 1.5 set heading -90 facexy -9 -7 ]] end to dep_Env4NF2 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF2NFr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " la conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2NFr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 1.5 set heading 0 ]] end ;;---------------------------------------------------Fin Cont Fixe non fragile Env 2 -------------------------- ;;---------------------------------------------------Debut Cont Fixe fragile Env 2 -------------------------- to dep_Env1F2 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF2Fr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2Fr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 1.5 set heading 88]] end to dep_Env2F2 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF2Fr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2Fr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 2.5 set heading 180 ]] end to dep_Env3F2 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF2Fr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2Fr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4F2 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF2Fr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " la conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF2Fr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;;---------------------------------------------------Fin Cont Fixe fragile Env 2 -------------------------- ;;---------------------------------------------------Debut Cont Fixe non fragile Env 3 -------------------------- to dep_Env1NF3 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF3NFr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3NFr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2NF3 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF3NFr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3NFr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3NF3 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF3NFr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3NFr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4NF3 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF3NFr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3NFr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;---------------------------------------------------Fin Cont Fixe non fragile Env 3 -------------------------- ;;---------------------------------------------------Debut Cont Fixe fragile Env 3 -------------------------- to dep_Env1F3 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF3Fr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3Fr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2F3 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF3Fr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3Fr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3F3 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF3Fr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3Fr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4F3 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF3Fr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF3Fr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;;---------------------------------------------------Fin Cont Fixe fragile Env 3 -------------------------- ;;---------------------------------------------------Debut Cont Fixe non fragile Env 4 -------------------------- to dep_Env1NF4 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF4NFr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4NFr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2NF4 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF4NFr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4NFr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3NF4 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF4NFr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4NFr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4NF4 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF4NFr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4NFr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;---------------------------------------------------Fin Cont Fixe non fragile Env 4 -------------------------- ;;---------------------------------------------------Debut Cont Fixe fragile Env 4 -------------------------- to dep_Env1F4 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF4Fr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4Fr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2F4 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF4Fr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4Fr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3F4 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF4Fr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4Fr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4F4 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF4Fr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF4Fr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;;---------------------------------------------------Fin Cont Fixe fragile Env 4 -------------------------- ;---------------------------------------------------Debut Cont Fixe Non fragile Env 1 -------------------------- to dep_Env1FNf1 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF1NFr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1NFr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2NF1 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF1NFr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1NFr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3FNf1 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF1NFr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1NFr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4FNf1 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF1NFr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1NFr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;---------------------------------------------------Fin Cont Fixe Non fragile Env 1 -------------------------- ;========================== ;;---------------------------------------------------Debut Cont Fixe non fragile navire -------------------------- to dep_Env1NFBat ask conteneursBNF with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBNF with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2NFBat ask conteneursBNF with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBNF with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3NFBat ask conteneursBNF with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBNF with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4NFBat ask conteneursBNF with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBNF with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;---------------------------------------------------Fin Cont Fixe non fragile navire -------------------------- ;;---------------------------------------------------Debut Cont Fixe fragile navire -------------------------- to dep_Env1FBat ask conteneursBF with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBF with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2FBat ask conteneursBF with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [ set plabel who] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBF with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3FBat ask conteneursBF with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBF with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.5 set heading -90 facexy -9 -7 ]] end to dep_Env4FBat ask conteneursBF with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursBF with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end ;;---------------------------------------------------Fin Cont Fixe fragile navire -------------------------- to dep_Env1F1 if nbtotS1 > Nb_Max_Cont [ stop] ask conteneursF1Fr with [pcolor = 105] [ifelse Num_port = "1" [ move-to patch -13 7 set pcolor 106 let in1 turtles-here ask in1 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1Fr with [pcolor = 106] [ifelse fragile = "oui" [ move-to patch -12 14 set pcolor yellow] [move-to patch -7 12 set pcolor white] ]] [facexy 11 -10 fd 0.5 set heading 88]] end to dep_Env2F1 if nbtotS2 > Nb_Max_Cont [ stop] ask conteneursF1Fr with [pcolor = 43 ] [ ifelse Num_port = "2" [move-to patch 14 7 set pcolor 42 let in2 turtles-here ask in2 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1Fr with [pcolor = 42] [ifelse fragile = "oui" [ move-to patch 8 14 set pcolor yellow] [move-to patch 13 12 set pcolor white] ]] [facexy 8 -6 fd 0.8 set heading 180 ]] end to dep_Env3F1 if nbtotS3 > Nb_Max_Cont [ stop] ask conteneursF1Fr with [pcolor = 64][ ifelse Num_port = "3" [ move-to patch 14 -13 set pcolor 63 let in3 turtles-here ask in3 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1Fr with [pcolor = 63] [ifelse fragile = "oui" [ move-to patch 8 -13 set pcolor yellow ] [move-to patch 13 -11 set pcolor white ] ]] [fd 0.8 set heading -90 facexy -9 -7 ]] end to dep_Env4F1 if nbtotS4 > Nb_Max_Cont [ stop] ask conteneursF1Fr with [pcolor = pink][ ifelse Num_port = "4" [ move-to patch -6 -13 set pcolor 133 let in4 turtles-here ask in4 [set plabel who ] output-print (word " le conteneur n° (" word who ") est débarqué au port n° " Num_port ) ask conteneursF1Fr with [pcolor = 133] [ifelse fragile = "oui" [ move-to patch -12 -13 set pcolor yellow] [move-to patch -7 -11 set pcolor white] ]] [ fd 0.5 set heading 0 ]] end to dep_noir ask conteneursF1Fr with [pcolor = black][ fd 0.4] ask conteneursF1NFr with [pcolor = black][ fd 0.4] ask conteneursF2Fr with [pcolor = black][ fd 0.8] ask conteneursF2NFr with [pcolor = black][ fd 0.8] ask conteneursF3Fr with [pcolor = black][ fd 0.4] ask conteneursF3NFr with [pcolor = black][ fd 0.4] ask conteneursF4Fr with [pcolor = black][ fd 0.4] ask conteneursF4NFr with [pcolor = black][ fd 0.4] ask conteneursBNF with [pcolor = black][ fd 0.4] ask conteneursBF with [pcolor = black][ fd 0.4] end to identification ask conteneur 0 [ set label "navire" set label-color 129 set size 5 setxy -3 12 ] ask conteneur 1 [ set label who set size 1.7 set label-color 129 setxy -3 12 ] ask conteneur 2 [ set label who set size 1.7 setxy -3 12 set label-color 129 ] ask conteneur 3 [ set label who set size 1.7 setxy -3 12 set label-color 129 ] ask conteneur 4 [ set label "" set size 1.7 set label-color 129 setxy -3 12 ] ask conteneursBF [ set label who set size 1.7 set label-color 129 setxy -3 12 ] ask conteneursBNF[ set label who set size 1.7 set label-color 129 setxy -3 12 ] ;----------------------- fix ;-------Port n°1 ask conteneursF1Fr [ set label who set size 1.7 set label-color 129 setxy -7 7 ] ask conteneursF2Fr [ set label who set size 1.7 set label-color 129 setxy 9 7 ] ask conteneursF2NFr [ set label who set label-color 129 set size 1.7 setxy 8 7 ] ask conteneursF3Fr [ set label who set size 1.7 set label-color 129 setxy 8 -8 ] ask conteneursF3NFr [ set label who set size 1.7 setxy 8 -9 set label-color 129 ] ask conteneursF4Fr [ set label who set size 1.7 set label-color 129 setxy -9 -6 ] ask conteneursF4NFr [ set label who set size 1.7 setxy -8 -6 set label-color 129 ] ask conteneursF1NFr [ set label who set size 1.7 setxy -8 7 set label-color 129 ] end to preparer-cont create-conteneurs 1 [ set fragile "non" set Num_port "5" set shape "bateau" ] create-conteneurs 1 [ set color blue + random 4 set fragile "oui" set Num_port "2" ] create-conteneurs 1 [ set color 143 + random 3 set fragile "non" set Num_port "3" ] create-conteneurs 1 [ set color 133 + random 3 set fragile "non" set Num_port "1" ] create-conteneurs 1 [ set color red + random 3 set fragile "oui" set Num_port "1" ] create-conteneursBF conteneursF_bat [ set color red + random 3 set fragile "oui" set Num_port Dist_B_F set poid Poid_B_F set Descr "BF" ] create-conteneursBNF conteneursNF_bat [ set color 103 + random 4 set fragile "non" set Num_port Dist_B_NF set poid Poid_B_NF set Descr "BNF" ] ;-------------------------Les conteneurs fixes------------------------------------------ ;>>>>>>>>>>>>>>>>>>env1 create-conteneursF1Fr cont_Fragile_Port1 [ set color red + random 3 set fragile "oui" set Num_port Port_dist_1F set poid Poid_1F set Descr "F1" ] create-conteneursF1NFr Cont_Non_Fragiles_Port1 [ set color 33 + random 4 set fragile "non" set Num_port Port_dist_1NF set poid Poid_1NF set Descr "NF1" ] create-conteneursF2Fr Cont_Fragiles_Port2 [ set color red + random 3 set fragile "oui" set Num_port Port_dist_2F set poid Poid_2F set Descr "F2" ] create-conteneursF2NFr Cont_Non_Fragiles_Port2 [ set color 53 + random 4 set fragile "non" set Num_port Port_dist_2NF set poid Poid_2NF set Descr "NF2" ] create-conteneursF3Fr Cont_Fragiles_Port3 [ set color red + random 3 set fragile "oui" set Num_port Port_dist_3F set poid Poid_3F set Descr "F3"] create-conteneursF3NFr Cont_Non_Fragiles_Port3 [ set color 73 + random 4 set fragile "non" set Num_port Port_dist_3NF set poid Poid_3NF set Descr "NF3" ] create-conteneursF4Fr Cont_Fragiles_Port4 [ set color red + random 3 set fragile "oui" set Num_port Port_dist_4F set poid Poid_4F set Descr "F4" ] create-conteneursF4NFr Cont_Non_Fragiles_Port4 [ set color 93 + random 4 set fragile "non" set Num_port Port_dist_4NF set poid Poid_4NF set Descr "NF4" ] end to calcul_Poid set SPoid1F Poid_1F * cont_Fragile_Port1 set SPoid1NF Poid_1NF * Cont_Non_Fragiles_Port1 set Spoidenv1 SPoid1F + SPoid1NF set SPoid2F Poid_2F * Cont_Fragiles_Port2 set SPoid2NF Poid_2NF * Cont_non_Fragiles_Port2 set Spoidenv2 SPoid2F + SPoid2NF set SPoid3F Poid_3F * Cont_Fragiles_Port3 set SPoid3NF Poid_3NF * Cont_non_Fragiles_Port3 set Spoidenv3 SPoid3F + SPoid3NF set SPoid4F Poid_4F * Cont_Fragiles_Port4 set SPoid4NF Poid_4NF * Cont_non_Fragiles_Port4 set SPoidenv4 SPoid4NF + SPoid4F set SPoidBF Poid_B_F * conteneursF_bat set SPoidBNF Poid_B_NF * conteneursNF_bat set SpoidB SPoidBF + SPoidBNF end to preparer-ports ;Port N°1 ask patches [ if ((pxcor > -13) and (pxcor < -6) and (pycor > 6) and (pycor < 15) ) [set pcolor blue ] ] ;Port N°2 ask patches [ if ((pxcor > 7) and (pxcor < 14) and (pycor > 6) and (pycor < 15)) [set pcolor 43] ] ;Port N°3 ask patches [ if ((pxcor > 7) and (pxcor < 14) and (pycor < -5) and (pycor > -14) ) [set pcolor 64] ] ;Port N°4 ask patches [ if ((pxcor > -13) and (pxcor < -6) and (pycor < -5) and (pycor > -14)) [set pcolor pink] ] ask patch -3 12 [set pcolor 10] end to les-ports create-ports 1 [ set size 2 set color 105 set nomPo " Port N°1" setxy -13 6 ] create-ports 1 [ set size 2 set color 43 set nomPo " Port N°2" setxy 14 6 ] create-ports 1 [ set size 2 set color 64 set nomPo " Port N°3" setxy 15 -5 ] create-ports 1 [ set size 2 set color pink set nomPo " Port N°4" setxy -13 -5 ] ask ports[ set label nomPo set pcolor 1] end @#$#@#$#@ GRAPHICS-WINDOW 665 10 1153 519 16 16 14.5 1 10 1 1 1 0 0 0 1 -16 16 -16 16 0 0 1 ticks BUTTON 526 12 649 45 Initialisation Init NIL 1 T OBSERVER NIL I NIL NIL BUTTON 525 50 651 83 < Simuler > Go T 1 T OBSERVER NIL S NIL NIL MONITOR 1779 28 2005 73 Nombre de conteneurs non embarquer nbtot 17 1 11 OUTPUT 1458 77 1771 452 10 MONITOR 1777 338 2001 383 Les conteneurs (Fragiles) sur le port n° 4 ee 17 1 11 MONITOR 1777 164 2003 209 Les conteneurs (Fragiles) sur le port n° 2 cc 17 1 11 MONITOR 1777 250 2001 295 Les conteneurs (Fragiles) sur le port n° 3 dd 17 1 11 MONITOR 1777 74 2003 119 Les conteneurs (Fragiles) sur le port n° 1 bb 17 1 11 MONITOR 502 565 1155 610 les conteneurs sur le bateau.. jj 17 1 11 MONITOR 503 519 1156 564 Les conteneurs fragiles aa 17 1 11 PLOT 1148 10 1462 140 %Conteneurs/temps Temps % de conteneurs 0.0 130.0 0.0 100.0 true true PENS "Port 3" 1.0 1 -10899396 true "Port 1" 1.0 1 -13345367 true "Port 4" 1.0 1 -2064490 true "Port 2" 1.0 1 -7171555 true SLIDER 1 110 162 143 Cont_Fragile_Port1 Cont_Fragile_Port1 0 50 37 1 1 NIL HORIZONTAL SLIDER 1 265 161 298 Cont_Non_Fragiles_Port1 Cont_Non_Fragiles_Port1 0 50 50 1 1 NIL HORIZONTAL SLIDER 1 417 159 450 Cont_Fragiles_Port2 Cont_Fragiles_Port2 0 50 50 1 1 NIL HORIZONTAL SLIDER 169 111 330 144 Cont_Non_Fragiles_Port2 Cont_Non_Fragiles_Port2 0 50 36 1 1 NIL HORIZONTAL SLIDER 170 262 326 295 Cont_Fragiles_Port3 Cont_Fragiles_Port3 0 50 33 1 1 NIL HORIZONTAL SLIDER 167 418 325 451 Cont_Non_Fragiles_Port3 Cont_Non_Fragiles_Port3 0 50 50 1 1 NIL HORIZONTAL SLIDER 339 113 497 146 Cont_Fragiles_Port4 Cont_Fragiles_Port4 0 50 41 1 1 NIL HORIZONTAL SLIDER 336 264 495 297 Cont_Non_Fragiles_Port4 Cont_Non_Fragiles_Port4 0 50 50 1 1 NIL HORIZONTAL CHOOSER 2 158 160 203 Port_dist_1F Port_dist_1F "2" "3" "4" 2 CHOOSER 1 310 159 355 Port_dist_1NF Port_dist_1NF "2" "3" "4" 1 CHOOSER 1 462 158 507 Port_dist_2F Port_dist_2F "1" "3" "4" 1 CHOOSER 170 158 331 203 Port_dist_2NF Port_dist_2NF "1" "3" "4" 1 CHOOSER 169 310 326 355 Port_dist_3F Port_dist_3F "1" "2" "4" 2 CHOOSER 166 463 324 508 Port_dist_3NF Port_dist_3NF "1" "2" "4" 1 CHOOSER 337 159 495 204 Port_dist_4F Port_dist_4F "1" "2" "3" 2 CHOOSER 335 311 492 356 Port_dist_4NF Port_dist_4NF "1" "2" "3" 2 SLIDER 168 37 340 70 Nb_Max_Cont Nb_Max_Cont 0 1000 548 1 1 NIL HORIZONTAL MONITOR 1777 119 2003 164 Les conteneurs (Non Fragiles) sur le port n° 1 rr 17 1 11 MONITOR 1777 207 2003 252 Les conteneurs (Non Fragiles) sur le port n° 2 tt 17 1 11 MONITOR 1777 295 2001 340 Les conteneurs (Non Fragiles) sur le port n° 3 yy 17 1 11 MONITOR 1777 383 2001 428 Les conteneurs (Non Fragiles) sur le port n° 4 uu 17 1 11 TEXTBOX 1808 10 1958 28 Apres Embarquement 14 125.0 0 SLIDER 334 418 492 451 ConteneursNF_bat ConteneursNF_bat 0 50 50 1 1 NIL HORIZONTAL SLIDER 499 113 662 146 ConteneursF_bat ConteneursF_bat 0 50 38 1 1 NIL HORIZONTAL CHOOSER 498 159 661 204 Dist_B_F Dist_B_F "1" "2" "3" "4" 1 CHOOSER 332 464 491 509 Dist_B_NF Dist_B_NF "1" "2" "3" "4" 0 PLOT 1149 138 1462 263 Dist/temps Temps distance 0.0 130.0 0.0 40.0 true true PENS "dist1" 1.0 0 -13345367 true "dist2" 1.0 0 -7171555 true "dist3" 1.0 0 -10899396 true "dist4" 1.0 0 -2064490 true INPUTBOX 353 19 503 79 Enregistrer_sous fichtt 1 0 String TEXTBOX 6 93 156 111 Conteneurs fragile sur le port 1 9 0.0 1 TEXTBOX 7 146 157 164 Destination 9 0.0 1 TEXTBOX 7 251 157 269 Conteneurs non fragiles sur le port 1 9 0.0 1 TEXTBOX 7 298 157 316 Destination 9 0.0 1 TEXTBOX 6 404 156 422 Conteneurs fragiles sur le port 2 9 0.0 1 TEXTBOX 6 451 156 469 Destination 9 0.0 1 TEXTBOX 172 97 322 115 Conteneurs non fragile sur le port 2 9 0.0 1 TEXTBOX 174 145 324 163 Destination 9 0.0 1 TEXTBOX 174 250 324 268 Conteneurs fragiles sur le port 3 9 0.0 1 TEXTBOX 176 296 326 314 Destination 9 0.0 1 TEXTBOX 171 406 321 424 Conteneurs non fragiles sur le port 3 9 0.0 1 TEXTBOX 172 450 322 468 Destination 9 0.0 1 TEXTBOX 341 99 491 117 Conteneurs fragiles sur le port 4 9 0.0 1 TEXTBOX 344 147 494 165 Destination 9 0.0 1 TEXTBOX 339 251 489 269 Conteneurs non fragiles sur le port 4 9 0.0 1 TEXTBOX 340 297 490 315 Destination 9 0.0 1 TEXTBOX 503 98 653 116 Conteneurs fragiles sur le bateau 9 0.0 1 TEXTBOX 336 405 493 423 Conteneurs non fragiles sur le bateau 9 0.0 1 TEXTBOX 502 147 652 165 Destination 9 0.0 1 TEXTBOX 338 453 488 471 Destination 9 0.0 1 TEXTBOX 173 10 323 32 Nombre maximale de conteneurs sur le navire 9 0.0 1 SLIDER 0 215 160 248 Poid_1F Poid_1F 0 5 4 1 1 NIL HORIZONTAL TEXTBOX 6 203 156 221 Poid 9 0.0 1 TEXTBOX 4 357 154 375 Poid 9 0.0 1 SLIDER 1 369 159 402 Poid_1NF Poid_1NF 0 5 5 1 1 NIL HORIZONTAL TEXTBOX 4 509 154 527 Poid 9 0.0 1 SLIDER 0 520 159 553 Poid_2F Poid_2F 0 5 3 1 1 NIL HORIZONTAL TEXTBOX 174 204 324 222 Poid 9 0.0 1 SLIDER 169 216 330 249 Poid_2NF Poid_2NF 0 5 2 1 1 NIL HORIZONTAL TEXTBOX 171 355 321 373 Poid 9 0.0 1 SLIDER 170 369 325 402 Poid_3F Poid_3F 0 5 4 1 1 NIL HORIZONTAL TEXTBOX 169 508 319 526 Poid 9 0.0 1 SLIDER 166 521 324 554 Poid_3NF Poid_3NF 0 5 4 1 1 NIL HORIZONTAL TEXTBOX 340 204 490 222 Poid 9 0.0 1 SLIDER 338 215 495 248 Poid_4F Poid_4F 0 5 5 1 1 NIL HORIZONTAL TEXTBOX 338 358 488 376 Poid 9 0.0 1 SLIDER 333 369 494 402 Poid_4NF Poid_4NF 0 5 3 1 1 NIL HORIZONTAL TEXTBOX 336 512 486 530 Poid 9 0.0 1 SLIDER 332 522 493 555 Poid_B_NF Poid_B_NF 0 5 2 1 1 NIL HORIZONTAL TEXTBOX 502 206 652 224 Poid 9 0.0 1 SLIDER 500 215 664 248 Poid_B_F Poid_B_F 0 5 2 1 1 NIL HORIZONTAL MONITOR 503 283 664 328 Poid de conteneurs sur le Port 1 Spoidenv1 17 1 11 MONITOR 503 330 664 375 Poid de conteneurs sur le port 2 Spoidenv2 17 1 11 MONITOR 504 377 665 422 Poid de conteneurs sur le port 3 Spoidenv3 17 1 11 MONITOR 502 424 665 469 Poid de conteneurs sur le port 4 Spoidenv4 17 1 11 MONITOR 502 472 667 517 Poid de conteneurs sur le navire SpoidB 17 1 11 SWITCH 1465 11 1567 44 Afficher1? Afficher1? 0 1 -1000 SWITCH 1463 45 1568 78 Afficher2? Afficher2? 0 1 -1000 TEXTBOX 522 266 672 284 les Poids de conteneurs 11 0.0 1 PLOT 1149 262 1462 382 Fragiles/temps Temps Cont_Fr 0.0 130.0 0.0 10.0 true true PENS "env1" 1.0 0 -13345367 true "env2" 1.0 0 -7171555 true "env3" 1.0 0 -10899396 true "env4" 1.0 0 -2064490 true PLOT 1148 384 1461 504 NonFragiles/temps Temps Cont_NFr 0.0 130.0 0.0 10.0 true true PENS "envv1" 1.0 0 -13345367 true "envv2" 1.0 0 -7171555 true "envv3" 1.0 0 -10899396 true "envv4" 1.0 0 -2064490 true SWITCH 1566 10 1671 43 Afficher3? Afficher3? 0 1 -1000 SWITCH 1568 45 1674 78 Afficher4? Afficher4? 0 1 -1000 PLOT 1153 502 1459 622 conteneurs non embarquer NIL NIL 0.0 10.0 0.0 10.0 true false PENS "Conteneur" 1.0 0 -2674135 true @#$#@#$#@ WHAT IS IT? ----------- Simulation d'embarquement des conteneurs sur un port HOW IT WORKS ------------ This section could explain what rules the agents use to create the overall behavior of the model. HOW TO USE IT ------------- This section could explain how to use the model, including a description of each of the items in the interface tab. THINGS TO NOTICE ---------------- This section could give some ideas of things for the user to notice while running the model. THINGS TO TRY ------------- This section could give some ideas of things for the user to try to do (move sliders, switches, etc.) with the model. EXTENDING THE MODEL ------------------- This section could give some ideas of things to add or change in the procedures tab to make the model more complicated, detailed, accurate, etc. NETLOGO FEATURES ---------------- This section could point out any especially interesting or unusual features of NetLogo that the model makes use of, particularly in the Procedures tab. It might also point out places where workarounds were needed because of missing features. RELATED MODELS -------------- This section could give the names of models in the NetLogo Models Library or elsewhere which are of related interest. CREDITS AND REFERENCES ---------------------- This section could contain a reference to the model's URL on the web if it has one, as well as any other necessary credits or references. @#$#@#$#@ default true 0 Polygon -7500403 true true 150 5 40 250 150 205 260 250 airplane true 0 Polygon -7500403 true true 150 0 135 15 120 60 120 105 15 165 15 195 120 180 135 240 105 270 120 285 150 270 180 285 210 270 165 240 180 180 285 195 285 165 180 105 180 60 165 15 arrow true 0 Polygon -7500403 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150 bateau false 0 Line -16777216 false 0 240 120 210 Polygon -7500403 true true 0 239 270 254 270 269 240 284 225 299 60 299 15 254 Polygon -1 true false 15 240 30 195 75 120 105 90 105 225 Polygon -1 true false 135 75 165 180 150 240 255 240 285 225 255 150 210 105 Line -16777216 false 105 90 120 60 Line -16777216 false 120 45 120 240 Line -16777216 false 150 240 120 240 Line -16777216 false 135 75 120 60 Polygon -7500403 true true 120 60 75 45 120 30 Polygon -16777216 false false 105 90 75 120 30 195 15 240 105 225 Polygon -16777216 false false 135 75 165 180 150 240 255 240 285 225 255 150 210 105 Polygon -16777216 false false 0 239 60 299 225 299 240 284 270 269 270 254 box false 0 Polygon -7500403 true true 150 285 285 225 285 75 150 135 Polygon -7500403 true true 150 135 15 75 150 15 285 75 Polygon -7500403 true true 15 75 15 225 150 285 150 135 Line -16777216 false 150 285 150 135 Line -16777216 false 150 135 15 75 Line -16777216 false 150 135 285 75 box 2 false 0 Polygon -7500403 true true 150 285 270 225 270 90 150 150 Polygon -7500403 true true 150 150 30 90 150 30 270 90 Polygon -7500403 true true 30 90 30 225 150 285 150 150 bug true 0 Circle -7500403 true true 96 182 108 Circle -7500403 true true 110 127 80 Circle -7500403 true true 110 75 80 Line -7500403 true 150 100 80 30 Line -7500403 true 150 100 220 30 butterfly true 0 Polygon -7500403 true true 150 165 209 199 225 225 225 255 195 270 165 255 150 240 Polygon -7500403 true true 150 165 89 198 75 225 75 255 105 270 135 255 150 240 Polygon -7500403 true true 139 148 100 105 55 90 25 90 10 105 10 135 25 180 40 195 85 194 139 163 Polygon -7500403 true true 162 150 200 105 245 90 275 90 290 105 290 135 275 180 260 195 215 195 162 165 Polygon -16777216 true false 150 255 135 225 120 150 135 120 150 105 165 120 180 150 165 225 Circle -16777216 true false 135 90 30 Line -16777216 false 150 105 195 60 Line -16777216 false 150 105 105 60 car false 0 Polygon -7500403 true true 300 180 279 164 261 144 240 135 226 132 213 106 203 84 185 63 159 50 135 50 75 60 0 150 0 165 0 225 300 225 300 180 Circle -16777216 true false 180 180 90 Circle -16777216 true false 30 180 90 Polygon -16777216 true false 162 80 132 78 134 135 209 135 194 105 189 96 180 89 Circle -7500403 true true 47 195 58 Circle -7500403 true true 195 195 58 circle false 0 Circle -7500403 true true 0 0 300 circle 2 false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 cow false 0 Polygon -7500403 true true 200 193 197 249 179 249 177 196 166 187 140 189 93 191 78 179 72 211 49 209 48 181 37 149 25 120 25 89 45 72 103 84 179 75 198 76 252 64 272 81 293 103 285 121 255 121 242 118 224 167 Polygon -7500403 true true 73 210 86 251 62 249 48 208 Polygon -7500403 true true 25 114 16 195 9 204 23 213 25 200 39 123 cylinder false 0 Circle -7500403 true true 0 0 300 dot false 0 Circle -7500403 true true 90 90 120 face happy false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 255 90 239 62 213 47 191 67 179 90 203 109 218 150 225 192 218 210 203 227 181 251 194 236 217 212 240 face neutral false 0 Circle -7500403 true true 8 7 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Rectangle -16777216 true false 60 195 240 225 face sad false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 168 90 184 62 210 47 232 67 244 90 220 109 205 150 198 192 205 210 220 227 242 251 229 236 206 212 183 fish false 0 Polygon -1 true false 44 131 21 87 15 86 0 120 15 150 0 180 13 214 20 212 45 166 Polygon -1 true false 135 195 119 235 95 218 76 210 46 204 60 165 Polygon -1 true false 75 45 83 77 71 103 86 114 166 78 135 60 Polygon -7500403 true true 30 136 151 77 226 81 280 119 292 146 292 160 287 170 270 195 195 210 151 212 30 166 Circle -16777216 true false 215 106 30 flag false 0 Rectangle -7500403 true true 60 15 75 300 Polygon -7500403 true true 90 150 270 90 90 30 Line -7500403 true 75 135 90 135 Line -7500403 true 75 45 90 45 flower false 0 Polygon -10899396 true false 135 120 165 165 180 210 180 240 150 300 165 300 195 240 195 195 165 135 Circle -7500403 true true 85 132 38 Circle -7500403 true true 130 147 38 Circle -7500403 true true 192 85 38 Circle -7500403 true true 85 40 38 Circle -7500403 true true 177 40 38 Circle -7500403 true true 177 132 38 Circle -7500403 true true 70 85 38 Circle -7500403 true true 130 25 38 Circle -7500403 true true 96 51 108 Circle -16777216 true false 113 68 74 Polygon -10899396 true false 189 233 219 188 249 173 279 188 234 218 Polygon -10899396 true false 180 255 150 210 105 210 75 240 135 240 house false 0 Rectangle -7500403 true true 45 120 255 285 Rectangle -16777216 true false 120 210 180 285 Polygon -7500403 true true 15 120 150 15 285 120 Line -16777216 false 30 120 270 120 leaf false 0 Polygon -7500403 true true 150 210 135 195 120 210 60 210 30 195 60 180 60 165 15 135 30 120 15 105 40 104 45 90 60 90 90 105 105 120 120 120 105 60 120 60 135 30 150 15 165 30 180 60 195 60 180 120 195 120 210 105 240 90 255 90 263 104 285 105 270 120 285 135 240 165 240 180 270 195 240 210 180 210 165 195 Polygon -7500403 true true 135 195 135 240 120 255 105 255 105 285 135 285 165 240 165 195 line true 0 Line -7500403 true 150 0 150 300 line half true 0 Line -7500403 true 150 0 150 150 pentagon false 0 Polygon -7500403 true true 150 15 15 120 60 285 240 285 285 120 person false 0 Circle -7500403 true true 110 5 80 Polygon -7500403 true true 105 90 120 195 90 285 105 300 135 300 150 225 165 300 195 300 210 285 180 195 195 90 Rectangle -7500403 true true 127 79 172 94 Polygon -7500403 true true 195 90 240 150 225 180 165 105 Polygon -7500403 true true 105 90 60 150 75 180 135 105 plant false 0 Rectangle -7500403 true true 135 90 165 300 Polygon -7500403 true true 135 255 90 210 45 195 75 255 135 285 Polygon -7500403 true true 165 255 210 210 255 195 225 255 165 285 Polygon -7500403 true true 135 180 90 135 45 120 75 180 135 210 Polygon -7500403 true true 165 180 165 210 225 180 255 120 210 135 Polygon -7500403 true true 135 105 90 60 45 45 75 105 135 135 Polygon -7500403 true true 165 105 165 135 225 105 255 45 210 60 Polygon -7500403 true true 135 90 120 45 150 15 180 45 165 90 square false 0 Rectangle -7500403 true true 30 30 270 270 square 2 false 0 Rectangle -7500403 true true 30 30 270 270 Rectangle -16777216 true false 60 60 240 240 star false 0 Polygon -7500403 true true 151 1 185 108 298 108 207 175 242 282 151 216 59 282 94 175 3 108 116 108 target false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 Circle -7500403 true true 60 60 180 Circle -16777216 true false 90 90 120 Circle -7500403 true true 120 120 60 tree false 0 Circle -7500403 true true 118 3 94 Rectangle -6459832 true false 120 195 180 300 Circle -7500403 true true 65 21 108 Circle -7500403 true true 116 41 127 Circle -7500403 true true 45 90 120 Circle -7500403 true true 104 74 152 triangle false 0 Polygon -7500403 true true 150 30 15 255 285 255 triangle 2 false 0 Polygon -7500403 true true 150 30 15 255 285 255 Polygon -16777216 true false 151 99 225 223 75 224 truck false 0 Rectangle -7500403 true true 4 45 195 187 Polygon -7500403 true true 296 193 296 150 259 134 244 104 208 104 207 194 Rectangle -1 true false 195 60 195 105 Polygon -16777216 true false 238 112 252 141 219 141 218 112 Circle -16777216 true false 234 174 42 Rectangle -7500403 true true 181 185 214 194 Circle -16777216 true false 144 174 42 Circle -16777216 true false 24 174 42 Circle -7500403 false true 24 174 42 Circle -7500403 false true 144 174 42 Circle -7500403 false true 234 174 42 turtle true 0 Polygon -10899396 true false 215 204 240 233 246 254 228 266 215 252 193 210 Polygon -10899396 true false 195 90 225 75 245 75 260 89 269 108 261 124 240 105 225 105 210 105 Polygon -10899396 true false 105 90 75 75 55 75 40 89 31 108 39 124 60 105 75 105 90 105 Polygon -10899396 true false 132 85 134 64 107 51 108 17 150 2 192 18 192 52 169 65 172 87 Polygon -10899396 true false 85 204 60 233 54 254 72 266 85 252 107 210 Polygon -7500403 true true 119 75 179 75 209 101 224 135 220 225 175 261 128 261 81 224 74 135 88 99 wheel false 0 Circle -7500403 true true 3 3 294 Circle -16777216 true false 30 30 240 Line -7500403 true 150 285 150 15 Line -7500403 true 15 150 285 150 Circle -7500403 true true 120 120 60 Line -7500403 true 216 40 79 269 Line -7500403 true 40 84 269 221 Line -7500403 true 40 216 269 79 Line -7500403 true 84 40 221 269 x false 0 Polygon -7500403 true true 270 75 225 30 30 225 75 270 Polygon -7500403 true true 30 75 75 30 270 225 225 270 @#$#@#$#@ NetLogo 4.1RC5 @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ default 0.0 -0.2 0 0.0 1.0 0.0 1 1.0 0.0 0.2 0 0.0 1.0 link direction true 0 Line -7500403 true 150 150 90 180 Line -7500403 true 150 150 210 180 @#$#@#$#@ 0 @#$#@#$#@