Changeset 119

Show
Ignore:
Timestamp:
03/11/05 02:32:40 (3 years ago)
Author:
rajlich
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/DummyBusSchedule.java

    r110 r119  
    1616 *      many comments as I had the patience to add. 
    1717 ****************************************************************************************/ 
    18  
     18import java.io.*; 
    1919 
    2020//In the interest of compiling, I generate stupid schedules where each bus hop 
    2121// takes 1 cost time 
    22 public class DummyBusSchedule 
     22public class DummyBusSchedule implements Serializable 
    2323{ 
    24  
     24    int[] busNodeIds = new int[10]; 
     25    int[] routeLength = new int[10]; 
    2526    int[][] busSchedules = new int[10][25]; 
    2627    int[] busWaits = new int[10]; 
    27     BusEdge[] ill21Edges = new BusEdge[22]; 
    28     BusEdge[] ill22Edges = new BusEdge[20]; 
     28 
     29 
    2930 
    3031    public void CreateBusRoutes(Graph g) 
    3132    { 
    32         //Create 22 Illini 
    33   //      BusNode Ill22 = new BusNode(0, this, "22 Illini", zz); 
     33        //Create 21 Illini 
     34        BusNode ill21 = new BusNode(g.getUnusedNodeID(), this, "21 Illini", 22); 
     35        busNodeIds[0] = ill21.id; 
     36        busWaits[0] = 5*60; 
     37        BusEdge[] ill21Edges = new BusEdge[22]; 
     38        routeLength[0] = 22; 
     39        g.addNode(ill21); 
     40 
     41        ill21Edges[0] = new BusEdge(ill21.id, 176); 
     42        ill21Edges[1] = new BusEdge(ill21.id, 121); 
     43        ill21Edges[2] = new BusEdge(ill21.id, 240); 
     44        ill21Edges[3] = new BusEdge(ill21.id, 280); 
     45        ill21Edges[4] = new BusEdge(ill21.id, 287); 
     46        ill21Edges[5] = new BusEdge(ill21.id, 289); 
     47        ill21Edges[6] = new BusEdge(ill21.id, 302); 
     48        ill21Edges[7] = new BusEdge(ill21.id, 389); 
     49        ill21Edges[8] = new BusEdge(ill21.id, 377); 
     50        ill21Edges[9] = new BusEdge(ill21.id, 159); 
     51        ill21Edges[10] = new BusEdge(ill21.id, 117); 
     52        ill21Edges[11] = new BusEdge(ill21.id, 451); 
     53        ill21Edges[12] = new BusEdge(ill21.id, 466); 
     54        ill21Edges[13] = new BusEdge(ill21.id, 465); 
     55        ill21Edges[14] = new BusEdge(ill21.id, 484); 
     56        ill21Edges[15] = new BusEdge(ill21.id, 499); 
     57        ill21Edges[16] = new BusEdge(ill21.id, 561); 
     58        ill21Edges[17] = new BusEdge(ill21.id, 538); 
     59        ill21Edges[18] = new BusEdge(ill21.id, 484); 
     60        ill21Edges[19] = new BusEdge(ill21.id, 471); 
     61        ill21Edges[20] = new BusEdge(ill21.id, 343); 
     62        ill21Edges[21] = new BusEdge(ill21.id, 172); 
     63        //main library 
     64        busSchedules[0][0] = 30; 
     65        busSchedules[0][1] = 15; 
     66        busSchedules[0][2] = 25; 
     67        busSchedules[0][3] = 15; 
     68        busSchedules[0][4] = 20; 
     69        //grainger 
     70        busSchedules[0][5] = 15; 
     71        busSchedules[0][6] = 15; 
     72        busSchedules[0][7] = 20; 
     73        //loomis 
     74        busSchedules[0][8] = 30; 
     75        busSchedules[0][9] = 20; 
     76        busSchedules[0][10] = 15; 
     77        busSchedules[0][11] = 15; 
     78        //nevada + goodwin 
     79        busSchedules[0][12] = 15; 
     80        busSchedules[0][13] = 15; 
     81        busSchedules[0][14] = 15; 
     82        busSchedules[0][15] = 30; 
     83        //at far 
     84        busSchedules[0][16] = 200; 
     85        busSchedules[0][17] = 15; 
     86        busSchedules[0][18] = 15; 
     87        busSchedules[0][19] = 20; 
     88        //at mumford 
     89        busSchedules[0][20] = 20; 
     90        //at main library 
     91        busSchedules[0][21] = 20; 
     92        for(int i = 0; i < 22; i++) 
     93        { 
     94            int otherId = ill21Edges[i].getOtherID(ill21.id); 
     95            ill21.BindPhyisicalNodeToIndex(i, otherId); 
     96            g.addEdge(ill21Edges[i]); 
     97        } 
     98 
     99 
     100 
     101        //Create 21 Illini 
     102        /*BusNode ill22 = new BusNode(g.getUnusedNodeID(), this, "22 Illini", 14); 
     103        busNodeIds[1] = ill22.id; 
     104        busWaits[1] = 10; 
     105        BusEdge[] ill22Edges = new BusEdge[14]; 
     106        routeLength[1] = 14; 
     107        g.addNode(ill22); 
     108 
     109        ill22Edges[0] = new BusEdge(ill22.id, 176); 
     110        ill22Edges[1] = new BusEdge(ill22.id, 240); 
     111        ill22Edges[2] = new BusEdge(ill22.id, 149); 
     112        ill22Edges[3] = new BusEdge(ill22.id, 162); 
     113        ill22Edges[4] = new BusEdge(ill22.id, 376); 
     114        ill22Edges[5] = new BusEdge(ill22.id, ); 
     115        ill22Edges[6] = new BusEdge(ill22.id, ); 
     116        ill22Edges[7] = new BusEdge(ill22.id, ); 
     117        ill22Edges[8] = new BusEdge(ill22.id, ); 
     118        ill22Edges[9] = new BusEdge(ill22.id, ); 
     119        ill22Edges[10] = new BusEdge(ill22.id, ); 
     120        ill22Edges[11] = new BusEdge(ill22.id, ); 
     121        ill22Edges[12] = new BusEdge(ill22.id, ); 
     122        ill22Edges[13] = new BusEdge(ill22.id, ); 
     123        busSchedules[1][0] = 0; 
     124        busSchedules[1][1] = 0; 
     125        busSchedules[1][2] = 0; 
     126        busSchedules[1][3] = 0; 
     127        busSchedules[1][4] = 0; 
     128        busSchedules[1][5] = 0; 
     129        busSchedules[1][6] = 0; 
     130        busSchedules[1][7] = 0; 
     131        busSchedules[1][8] = 0; 
     132        busSchedules[1][9] = 0; 
     133        busSchedules[1][10] = 0; 
     134        busSchedules[1][11] = 0; 
     135        busSchedules[1][12] = 0; 
     136        busSchedules[1][13] = 0; 
     137        for(int i = 0; i < 14; i++) 
     138        { 
     139            int otherId = ill22Edges[i].getOtherID(ill22.id); 
     140            ill22.BindPhyisicalNodeToIndex(i, otherId); 
     141            g.addEdge(ill22Edges[i]); 
     142        }*/ 
     143 
    34144 
    35145 
    36146        //Create 26 Pack 
    37 //        BusNode Ill26 = new BusNode(1, this, "26 Pack", zz); 
    38  
    39  
    40         //Create 21 Illini 
    41         BusNode ill21 = new BusNode(2, this, "21 Illini", 22); 
    42         busWaits[0] = 
    43  
    44 //        ill21Edges[0] = new BusEdge(ill21.id, ); 
    45         busSchedules[0][0] = 0; 
    46  
    47  
    48         for(int i = 0; i < 22; i++) 
    49         { 
    50             g.addEdge(ill21Edges[i]); 
    51         } 
     147        BusNode ill26 = new BusNode(g.getUnusedNodeID(), this, "26 Pack", 24); 
     148        busNodeIds[2] = ill26.id; 
     149        busWaits[2] = 5*60; 
     150        routeLength[2] = 24; 
     151        BusEdge[] ill26Edges = new BusEdge[24]; 
     152        g.addNode(ill26); 
     153 
     154        ill26Edges[0] = new BusEdge(ill26.id, 177); 
     155        ill26Edges[1] = new BusEdge(ill26.id, 176); 
     156        ill26Edges[2] = new BusEdge(ill26.id, 121); 
     157        ill26Edges[3] = new BusEdge(ill26.id, 240); 
     158        ill26Edges[4] = new BusEdge(ill26.id, 280); 
     159        ill26Edges[5] = new BusEdge(ill26.id, 287); 
     160        ill26Edges[6] = new BusEdge(ill26.id, 289); 
     161        ill26Edges[7] = new BusEdge(ill26.id, 302); 
     162        ill26Edges[7] = new BusEdge(ill26.id, 389); 
     163        ill26Edges[9] = new BusEdge(ill26.id, 377); 
     164        ill26Edges[10] = new BusEdge(ill26.id, 417); 
     165        ill26Edges[11] = new BusEdge(ill26.id, 467); 
     166        ill26Edges[12] = new BusEdge(ill26.id, 468); 
     167        ill26Edges[13] = new BusEdge(ill26.id, 465); 
     168        ill26Edges[14] = new BusEdge(ill26.id, 188); 
     169        ill26Edges[15] = new BusEdge(ill26.id, 172); 
     170        ill26Edges[16] = new BusEdge(ill26.id, 76); 
     171        ill26Edges[17] = new BusEdge(ill26.id, 56); 
     172        ill26Edges[18] = new BusEdge(ill26.id, 40); 
     173        ill26Edges[19] = new BusEdge(ill26.id, 7); 
     174        ill26Edges[20] = new BusEdge(ill26.id, 269); 
     175        ill26Edges[21] = new BusEdge(ill26.id, 265); 
     176        ill26Edges[22] = new BusEdge(ill26.id, 214); 
     177        ill26Edges[23] = new BusEdge(ill26.id, 17); 
     178        //at wright + armory 
     179        busSchedules[2][0] = 30; 
     180        busSchedules[2][1] = 15; 
     181        busSchedules[2][2] = 30; 
     182        //at everett 
     183        busSchedules[2][3] = 15; 
     184        busSchedules[2][4] = 20; 
     185        //at grainger 
     186        busSchedules[2][5] = 15; 
     187        busSchedules[2][6] = 15; 
     188        busSchedules[2][7] = 25; 
     189        //at loomis 
     190        busSchedules[2][8] = 25; 
     191        busSchedules[2][9] = 15; 
     192        busSchedules[2][10] = 15; 
     193        //at goodwin + nevada 
     194        busSchedules[2][11] = 15; 
     195        busSchedules[2][12] = 15; 
     196        busSchedules[2][13] = 15; 
     197        //at main library gregory drive side 
     198        busSchedules[2][14] = 40; 
     199        busSchedules[2][15] = 15; 
     200        busSchedules[2][16] = 15; 
     201        busSchedules[2][17] = 15; 
     202        busSchedules[2][18] = 15; 
     203        busSchedules[2][19] = 15; 
     204        busSchedules[2][20] = 15; 
     205        busSchedules[2][21] = 15; 
     206        busSchedules[2][22] = 15; 
     207        //at illini orange 
     208        busSchedules[2][23] = 200; 
     209        for(int i = 0; i < 24; i++) 
     210        { 
     211            int otherId = ill26Edges[i].getOtherID(ill26.id); 
     212            ill26.BindPhyisicalNodeToIndex(i, otherId); 
     213            g.addEdge(ill26Edges[i]); 
     214        } 
     215    } 
     216 
     217    public int convertBusNodeIdToIndex(int busNodeId) 
     218    { 
     219        for(int i = 0; i < busNodeIds.length; i++) 
     220        { 
     221            if(busNodeIds[i] == busNodeId) 
     222            { 
     223                return i; 
     224            } 
     225        } 
     226        return -1; 
     227 
    52228    } 
    53229        /** 
     
    62238         *      @return 
    63239         */ 
    64         public Cost eWaitTimeForRoute(int routeNumber, int stopIndex, Cost c) 
    65         { 
    66             return new Cost(1); 
     240        public Cost eWaitTimeForRoute(int busNodeId, int stopIndex, Cost c) 
     241        { 
     242            int routeIndex = convertBusNodeIdToIndex(busNodeId); 
     243            //HACK: 
     244            return new Cost(busWaits[routeIndex]); 
    67245        } 
    68246 
     
    85263         *      @return transCost 
    86264         */ 
    87         public Cost eTransTimeFor(int routeId, int startIndex, int endIndex, Cost c ) 
    88         { 
    89                 // Not been done 
    90                 return new Cost(1); 
    91         } 
    92  
    93         public void saveCurrentToFile( String fileName ) 
    94         { 
    95                 // Not been done 
    96         } 
    97  
    98         public void loadFromFile( String fileName ) 
    99         { 
    100                 // Not been done 
     265        public Cost eTransTimeFor(int busNodeId, int startIndex, int endIndex, Cost c) 
     266        { 
     267            int routeIndex = convertBusNodeIdToIndex(busNodeId); 
     268            int totalCost = 0; 
     269            for(int i = startIndex; i!=endIndex; i++) 
     270            { 
     271                if(i == routeLength[routeIndex]) 
     272                    i = 0; 
     273                if(i == endIndex) 
     274                    break; 
     275                totalCost+=busSchedules[routeIndex][i]; 
     276            } 
     277            return new Cost(totalCost); 
    101278        } 
    102279}