Sunteți pe pagina 1din 5

2.

To separate Paths: Type following code in VBA and run


Sub separate_paths()
newline = 2
For i = 1 To [max no. of column occupied]
If Worksheets("paths").Cells(1, i).Value = 2 Then
newline = newline + 1
col = 1
End If
Worksheets("paths").Cells(newline, col).Value = Worksheets("paths").Cells(1, i).Value
col = col + 1
Next i
End Sub

1.For Replacement
Sub replacement()
For i = 1 To [max no. of column occupied]
If Worksheets("paths").Cells(1, i).Value = 1 Then
Worksheets("paths").Cells(1, i).Value = 2
ElseIf Worksheets("paths").Cells(1, i).Value = 2 Then
Worksheets("paths").Cells(1, i).Value = 4
ElseIf Worksheets("paths").Cells(1, i).Value = 3 Then
Worksheets("paths").Cells(1, i).Value = 5
ElseIf Worksheets("paths").Cells(1, i).Value = 4 Then
Worksheets("paths").Cells(1, i).Value = 10
ElseIf Worksheets("paths").Cells(1, i).Value = 5 Then
Worksheets("paths").Cells(1, i).Value = 11
ElseIf Worksheets("paths").Cells(1, i).Value = 5 Then
Worksheets("paths").Cells(1, i).Value = 20
ElseIf Worksheets("paths").Cells(1, i).Value = 7 Then
Worksheets("paths").Cells(1, i).Value = 24
ElseIf Worksheets("paths").Cells(1, i).Value = 8 Then
Worksheets("paths").Cells(1, i).Value = 26
ElseIf Worksheets("paths").Cells(1, i).Value = 9 Then
Worksheets("paths").Cells(1, i).Value = 27
ElseIf Worksheets("paths").Cells(1, i).Value = 10 Then
Worksheets("paths").Cells(1, i).Value = 28
ElseIf Worksheets("paths").Cells(1, i).Value = 11 Then
Worksheets("paths").Cells(1, i).Value = 33
ElseIf Worksheets("paths").Cells(1, i).Value = 12 Then
Worksheets("paths").Cells(1, i).Value = 36
ElseIf Worksheets("paths").Cells(1, i).Value = 13 Then
Worksheets("paths").Cells(1, i).Value = 37
ElseIf Worksheets("paths").Cells(1, i).Value = 14 Then
Worksheets("paths").Cells(1, i).Value = 41
ElseIf Worksheets("paths").Cells(1, i).Value = 15 Then
Worksheets("paths").Cells(1, i).Value = 42
ElseIf Worksheets("paths").Cells(1, i).Value = 16 Then
Worksheets("paths").Cells(1, i).Value = 45
ElseIf Worksheets("paths").Cells(1, i).Value = 17 Then
Worksheets("paths").Cells(1, i).Value = 49
ElseIf Worksheets("paths").Cells(1, i).Value = 18 Then
Worksheets("paths").Cells(1, i).Value = 54
ElseIf Worksheets("paths").Cells(1, i).Value = 19 Then
Worksheets("paths").Cells(1, i).Value = 55
ElseIf Worksheets("paths").Cells(1, i).Value = 20 Then
Worksheets("paths").Cells(1, i).Value = 58
ElseIf Worksheets("paths").Cells(1, i).Value = 21 Then
Worksheets("paths").Cells(1, i).Value = 63
ElseIf Worksheets("paths").Cells(1, i).Value = 22 Then
Worksheets("paths").Cells(1, i).Value = 64
ElseIf Worksheets("paths").Cells(1, i).Value = 23 Then
Worksheets("paths").Cells(1, i).Value = 70
ElseIf Worksheets("paths").Cells(1, i).Value = 24 Then
Worksheets("paths").Cells(1, i).Value = 72
ElseIf Worksheets("paths").Cells(1, i).Value = 25 Then
Worksheets("paths").Cells(1, i).Value = 73
ElseIf Worksheets("paths").Cells(1, i).Value = 26 Then
Worksheets("paths").Cells(1, i).Value = 74
ElseIf Worksheets("paths").Cells(1, i).Value = 27 Then
Worksheets("paths").Cells(1, i).Value = 75
ElseIf Worksheets("paths").Cells(1, i).Value = 28 Then
Worksheets("paths").Cells(1, i).Value = 79
ElseIf Worksheets("paths").Cells(1, i).Value = 29 Then
Worksheets("paths").Cells(1, i).Value = 80
ElseIf Worksheets("paths").Cells(1, i).Value = 30 Then
Worksheets("paths").Cells(1, i).Value = 82
ElseIf Worksheets("paths").Cells(1, i).Value = 31 Then
Worksheets("paths").Cells(1, i).Value = 85
ElseIf Worksheets("paths").Cells(1, i).Value = 32 Then
Worksheets("paths").Cells(1, i).Value = 87
ElseIf Worksheets("paths").Cells(1, i).Value = 33 Then
Worksheets("paths").Cells(1, i).Value = 90
ElseIf Worksheets("paths").Cells(1, i).Value = 34 Then
Worksheets("paths").Cells(1, i).Value = 92
ElseIf Worksheets("paths").Cells(1, i).Value = 35 Then
Worksheets("paths").Cells(1, i).Value = 96
ElseIf Worksheets("paths").Cells(1, i).Value = 36 Then
Worksheets("paths").Cells(1, i).Value = 98
ElseIf Worksheets("paths").Cells(1, i).Value = 37 Then
Worksheets("paths").Cells(1, i).Value = 99
ElseIf Worksheets("paths").Cells(1, i).Value = 38 Then
Worksheets("paths").Cells(1, i).Value = 101
ElseIf Worksheets("paths").Cells(1, i).Value = 39 Then
Worksheets("paths").Cells(1, i).Value = 102
ElseIf Worksheets("paths").Cells(1, i).Value = 40 Then
Worksheets("paths").Cells(1, i).Value = 103
ElseIf Worksheets("paths").Cells(1, i).Value = 41 Then
Worksheets("paths").Cells(1, i).Value = 104
ElseIf Worksheets("paths").Cells(1, i).Value = 42 Then
Worksheets("paths").Cells(1, i).Value = 105
ElseIf Worksheets("paths").Cells(1, i).Value = 43 Then
Worksheets("paths").Cells(1, i).Value = 106
ElseIf Worksheets("paths").Cells(1, i).Value = 44 Then
Worksheets("paths").Cells(1, i).Value = 107
ElseIf Worksheets("paths").Cells(1, i).Value = 45 Then
Worksheets("paths").Cells(1, i).Value = 108
ElseIf Worksheets("paths").Cells(1, i).Value = 46 Then
Worksheets("paths").Cells(1, i).Value = 109
ElseIf Worksheets("paths").Cells(1, i).Value = 47 Then
Worksheets("paths").Cells(1, i).Value = 110
ElseIf Worksheets("paths").Cells(1, i).Value = 48 Then
Worksheets("paths").Cells(1, i).Value = 111
ElseIf Worksheets("paths").Cells(1, i).Value = 49 Then
Worksheets("paths").Cells(1, i).Value = 112
ElseIf Worksheets("paths").Cells(1, i).Value = 50 Then
Worksheets("paths").Cells(1, i).Value = 113
ElseIf Worksheets("paths").Cells(1, i).Value = 51 Then
Worksheets("paths").Cells(1, i).Value = 114
ElseIf Worksheets("paths").Cells(1, i).Value = 52 Then
Worksheets("paths").Cells(1, i).Value = 115
ElseIf Worksheets("paths").Cells(1, i).Value = 53 Then
Worksheets("paths").Cells(1, i).Value = 116
ElseIf Worksheets("paths").Cells(1, i).Value = 54 Then
Worksheets("paths").Cells(1, i).Value = 117
ElseIf Worksheets("paths").Cells(1, i).Value = 55 Then
Worksheets("paths").Cells(1, i).Value = 118
ElseIf Worksheets("paths").Cells(1, i).Value = 56 Then
Worksheets("paths").Cells(1, i).Value = 119
ElseIf Worksheets("paths").Cells(1, i).Value = 57 Then
Worksheets("paths").Cells(1, i).Value = 120
ElseIf Worksheets("paths").Cells(1, i).Value = 58 Then
Worksheets("paths").Cells(1, i).Value = 121
ElseIf Worksheets("paths").Cells(1, i).Value = 59 Then
Worksheets("paths").Cells(1, i).Value = 122
ElseIf Worksheets("paths").Cells(1, i).Value = 60 Then
Worksheets("paths").Cells(1, i).Value = 123
ElseIf Worksheets("paths").Cells(1, i).Value = 61 Then
Worksheets("paths").Cells(1, i).Value = 124
ElseIf Worksheets("paths").Cells(1, i).Value = 62 Then
Worksheets("paths").Cells(1, i).Value = 125
ElseIf Worksheets("paths").Cells(1, i).Value = 63 Then
Worksheets("paths").Cells(1, i).Value = 126
ElseIf Worksheets("paths").Cells(1, i).Value = 64 Then
Worksheets("paths").Cells(1, i).Value = 127
ElseIf Worksheets("paths").Cells(1, i).Value = 65 Then
Worksheets("paths").Cells(1, i).Value = 128
ElseIf Worksheets("paths").Cells(1, i).Value = 66 Then
Worksheets("paths").Cells(1, i).Value = 129
ElseIf Worksheets("paths").Cells(1, i).Value = 67 Then
Worksheets("paths").Cells(1, i).Value = 130
ElseIf Worksheets("paths").Cells(1, i).Value = 68 Then
Worksheets("paths").Cells(1, i).Value = 131
ElseIf Worksheets("paths").Cells(1, i).Value = 69 Then
Worksheets("paths").Cells(1, i).Value = 132
ElseIf Worksheets("paths").Cells(1, i).Value = 70 Then
Worksheets("paths").Cells(1, i).Value = 133
ElseIf Worksheets("paths").Cells(1, i).Value = 71 Then
Worksheets("paths").Cells(1, i).Value = 134
ElseIf Worksheets("paths").Cells(1, i).Value = 72 Then
Worksheets("paths").Cells(1, i).Value = 135
ElseIf Worksheets("paths").Cells(1, i).Value = 73 Then
Worksheets("paths").Cells(1, i).Value = 136
ElseIf Worksheets("paths").Cells(1, i).Value = 74 Then
Worksheets("paths").Cells(1, i).Value = 137
ElseIf Worksheets("paths").Cells(1, i).Value = 75 Then
Worksheets("paths").Cells(1, i).Value = 140
ElseIf Worksheets("paths").Cells(1, i).Value = 76 Then
Worksheets("paths").Cells(1, i).Value = 141
ElseIf Worksheets("paths").Cells(1, i).Value = 77 Then
Worksheets("paths").Cells(1, i).Value = 142
ElseIf Worksheets("paths").Cells(1, i).Value = 78 Then
Worksheets("paths").Cells(1, i).Value = 143
ElseIf Worksheets("paths").Cells(1, i).Value = 79 Then
Worksheets("paths").Cells(1, i).Value = 144
ElseIf Worksheets("paths").Cells(1, i).Value = 80 Then
Worksheets("paths").Cells(1, i).Value = 145
ElseIf Worksheets("paths").Cells(1, i).Value = 81 Then
Worksheets("paths").Cells(1, i).Value = 146
ElseIf Worksheets("paths").Cells(1, i).Value = 82 Then
Worksheets("paths").Cells(1, i).Value = 147
ElseIf Worksheets("paths").Cells(1, i).Value = 83 Then
Worksheets("paths").Cells(1, i).Value = 148
ElseIf Worksheets("paths").Cells(1, i).Value = 84 Then
Worksheets("paths").Cells(1, i).Value = 149
ElseIf Worksheets("paths").Cells(1, i).Value = 85 Then
Worksheets("paths").Cells(1, i).Value = 150
ElseIf Worksheets("paths").Cells(1, i).Value = 86 Then
Worksheets("paths").Cells(1, i).Value = 151
ElseIf Worksheets("paths").Cells(1, i).Value = 87 Then
Worksheets("paths").Cells(1, i).Value = 152
ElseIf Worksheets("paths").Cells(1, i).Value = 88 Then
Worksheets("paths").Cells(1, i).Value = 153
ElseIf Worksheets("paths").Cells(1, i).Value = 89 Then
Worksheets("paths").Cells(1, i).Value = 154
ElseIf Worksheets("paths").Cells(1, i).Value = 90 Then
Worksheets("paths").Cells(1, i).Value = 155
ElseIf Worksheets("paths").Cells(1, i).Value = 91 Then
Worksheets("paths").Cells(1, i).Value = 156
ElseIf Worksheets("paths").Cells(1, i).Value = 92 Then
Worksheets("paths").Cells(1, i).Value = 157
ElseIf Worksheets("paths").Cells(1, i).Value = 93 Then
Worksheets("paths").Cells(1, i).Value = 158
End If
Next i
End Sub

Matlab commands

1. Save O-D file with inf in CSV comma delimated format and give a name to the file.
2. Save file to matlab folder that you have set.
3. Copy k-shortest path and djkistra algorithm in matlab folder you have set
4. Set the folder outsides programfiles folder in C:/ as admin will not allow writing files in that
folder
5. Type following commands in matlab window
6. netCostMatrix = csvread(‘file_name_you_have_kept.csv');
7. >> [shortestPaths, totalCosts] = kShortestPath(netCostMatrix, 1, 93, 100);
8. >> csvwrite('paths.csv',shortestPaths);
9. >> csvwrite('your_file_to_save_costs.csv',totalCosts);
After this,
Open the file containing paths ( paths will be saved in a single row)
Nodes will be named as 1,2.. instead of real node number.
To replace this,
Open VBA window in Excel and type the above code for replacement

To separate the paths in different rows


Type the command above (to separate path) in VBA and run the program.

S-ar putea să vă placă și