A STACKED NODES METHOD TO MULTIPLE TARGET ACCESS PROBLEMS by Christopher A. Shuma ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M APPROVED BY SUPERVISORY COMMITTEE: ___________________________________________ Dr. Denis J. Dean, Chair ___________________________________________ Dr. Fang Qiu ___________________________________________ Dr. Yongwan Chun MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Copyright 2014 Christopher A. Shuma All Rights Reserved MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ A STACKED NODES METHOD TO MULTIPLE TARGET ACCESS PROBLEMS by ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M CHRISTOPHER A. SHUMA, BS THESIS Presented to the Faculty of The University of Texas at Dallas in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE IN GEOSPATIAL INFORMATION SCIENCES THE UNIVERSITY OF TEXAS AT DALLAS August 2014 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ UMI Number: 1565607 All rights reserved INFORMATION TO ALL USERS The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion. ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M UMI 1565607 Published by ProQuest LLC (2014). Copyright in the Dissertation held by the Author. Microform Edition © ProQuest LLC. All rights reserved. This work is protected against unauthorized copying under Title 17, United States Code ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, MI 48106 - 1346 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ ACKNOWLEDGMENTS I would like to thank my advisor Dr. Denis J. Dean for all his contributions and hard work to help me finish this thesis and explore a fascinating topic with real significance. Also, I want to ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M thank my family and friends for supporting me through my move to Dallas and completing the Geospatial Information Science Master’s program at University of Texas at Dallas. May 2014 iv MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ A STACKED NODES METHOD TO MULTIPLE TARGET ACCESS PROBLEMS Publication No. ___________________ Christopher A. Shuma, MS The University of Texas at Dallas, 2014 ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M ABSTRACT Supervising Professor: Denis J. Dean The following research develops a possible solution to multiple target access problems (MTAPs) through spatial optimization. The MTAP is a problem where a network of arcs, each with quantified impedance, connects many nodes to one another. The optimal solution path begins at the source node(s) and must reach all indicated target nodes. MTAPs are commonly used in the forestry industry to effectively build access roads to multiple timber stands. A complex branching network is necessary while trying to limit the building cost of these roads. An optimal solution to these problems results in the more profitable path. Previous MTAP solutions include heuristics using variations of Dijkstra’s algorithm which are not always efficient. This thesis reviews the feasibility of a stacked node method developed to solve MTAPs using binary integer programming. v MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ TABLE OF CONTENTS ACKNOWLEDGMENTS ............................................................................................................. iv ABSTRACT .....................................................................................................................................v ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M LIST OF FIGURES ...................................................................................................................... vii CHAPTER 1 INTRODUCTION ...................................................................................................1 CHAPTER 2 METHODOLOGY ..................................................................................................7 CHAPTER 3 ANALYSIS ............................................................................................................13 CHAPTER 4 FUTURE WORK ...................................................................................................15 REFERENCES ..............................................................................................................................20 VITA vi MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ LIST OF FIGURES Figure 1.1 Single Target Access Problem........................................................................................2 Figure 1.2 Single Target Access Problem Constraints ....................................................................4 ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 1.3 Single Target Access Problem Solution .........................................................................5 Figure 1.4 Single Target Access Problem Results ...........................................................................6 Figure 2.1 Stacked Node Example...................................................................................................7 Figure 2.2 Multiple Target Access Problem ....................................................................................8 Figure 2.3 Multiple Target Access Problem Constraints .................................................................9 Figure 2.4 Multiple Target Access Problem Solution ...................................................................12 Figure 2.5 Multiple Target Access Problem Results .....................................................................12 Figure 3.1 Pseudo Source Nodes ...................................................................................................14 Figure 4.1 Integer Programming Problem .....................................................................................15 Figure 4.2 Integer Programming Constraints.................................................................................16 Figure 4.3 Integer Programming Solution .....................................................................................18 Figure 4.4 Integer Programming Results .......................................................................................19 vii MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ CHAPTER 1 INTRODUCTION Multiple target access problems can be defined as finding the minimum cost locations for all new ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M roadways needed to connect N targets to the existing road network (Dean 1997). These roadways and targets can be thought of within three physical spaces; continuous, raster, and graph theories which were all discussed at length by Picard (2006). This research will not touch on continuous space approaches as they require a different and more difficult mathematical treatment. Dean used raster theory which is space made of many pixels, each with cost variable to traverse, where the path must travel from the center of one pixel to another. These concepts to solve the MTAP can still be applied to this research as graph theory is another discrete type of space. The graph theory structure of networks consist of three node types; source, intermediate, and target. These nodes are connected to one another by arcs which each have a set impedance to traverse that arc distance. Think of the arcs as individual roads and the nodes as intersections where roadways cross and a path or car can turn and change course. The goal is to create a network connecting the source nodes to all target nodes while accruing the minimum cost. Before discussing the exact methods to solve MTAPs it requires knowledge of how to solve a single target access problem (STAP). A common method of solving these problems is by using variations of a heuristic named Dijkstra’s algorithm. It is very effective, but as a heuristic it only approximates the solution and does not guarantee the optimal solution to any network. Dijkstra (1959) explains his method of finding the minimum path length between two nodes by 1 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 2 comparing the total accrued length after each individual arc. By beginning at the source node and following each possible arc one by one, those paths with a higher length to reach identical nodes are eliminated. This continues until the target node is reached and the least cost path is determined. This method does not require searching through the entire network of arcs and nodes making it a quick solution that gives good results. Another method to solve STAP is through a ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 1.1. Single Target Access Problem. special case of integer programming called Binary Integer Programming (BIP). To set up a BIP problem, it requires an objective function and several constraints. The objective function is the minimum sum of each and every arc in the network multiplied by its corresponding impedance. These are called decision variables and are notated for an arc from node to . Each decision variable is a binary variable which means it can only be one of two values, 0 or 1. A value of 1 indicates that the variable is used in the optimal path while a value of MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 3 0 indicates it is not. Therefore, each decision variable with a value of 1 would be multiplied by its own impedance and added to one another to equal the total cost of the optimal path. The constraints within a BIP problem can be separated into two categories; flow and force. The force constraint is what forces the solution to begin, as it requires that all decision variables out of the source node must equal 1. This assures one path from the source node is included in the optimal path and leads into the flow constraints. There is one flow constraint ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M created for each intermediate node in the network. The constraint simply adds all decision variables entering node and sets them equal to all decision variables exiting node . This makes the path flow node to node until the target node is reached with the least accrued impedance. Reaching the target is the only way for the problem to end as there are no force or flow constraints at the target, which allows the path to stop. An example network is shown in Figure 1.1 and the necessary objective function and constraints are included in Figure 1.2. The solution to the discussed example and resulting variable values are included in Figures 1.3 and 1.4. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 4 The mathematical process that solves BIP is a Branch and Bound procedure. It is a type of recursive thinking where the initial problem is continually divided into two smaller subproblems (Bastarrica 1998). These subproblems are the two possible outcomes for each decision variable, 1 or 0. At every step the highest and lowest possible impedance is calculated and compared to the other subproblems. If one branch’s best possible outcome is worse than the ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 1.2. Single Target Access Problem Constraints. worst possible outcome of another branch, the first branch is eliminated. This process continues to branch until one branch is left which will provide the decision variable values necessary for the optimal path. Branch and Bound is heuristic in deciding how to branch, so it may not solve the solution in the most time efficient method every time. However; unlike Dijkstra’s method, it is an exact solution method making it a guarantee to find the optimal solution. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 5 ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 1.3. Single Target Access Problem Solution. With that thought in mind, previously proven solution methods to MTAPs are discussed at length by Dean and Picard. The fully independent path method is the simplest MTAP solution which treats each target as a STAP. Applying reduction to this method removes any redundant segments, turning overlapping arc paths into a single path and single impedance. Theoretically, any new method should never produce worse results than the fully independent path method. The method developed by Dean in his paper was termed branch evaluation. Branch evaluation takes into account every possible branching pattern to connect the source to the targets. The lowest cost path for each possibility is calculated and the best branching pattern is chosen. This method is effective with very few targets but becomes inefficient with a larger network due to the number of possible branches. Picard identifies several methods, one being the source-to-closesttarget method. An improvement on independent paths, this method still solves each target one by MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 6 one. The target closest or of least cost to the source is connected as such, and the node and resulting path become part of the new source. The next closest target to the new source is connected and this process is repeated until all targets are reached. The source-to-closest-target method was concluded by Picard to be the best solution method of all he studied when considering results and computing time for large MTAPs. Both Dean and Picard used a Monte Carlo experimental plan to randomly generate ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M MTAP networks to test the various solution methods. Some of the variables in the networks Figure 1.4. Single Target Access Problem Results. included the number of total nodes, target nodes, and source nodes. This same process will go into effect in this research project to test and compare the stacked node method. In addition, there will be a variable to determine the maximum and minimum connections from each node in the networks. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ CHAPTER 2 METHODOLOGY The first step in performing the stacked nodes methodological study on MTAPs is producing the ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M networks which will be used to test the performance. A program was created using Visual Basic to produce these networks and set up the constraints necessary to solve these problems. An x/y grid is setup for each network so that the arcs between nodes can have a numerical distance to serve as the impedance. Impedance values are not very important in this study as the focus is on the solution method. There are many studies of real world application MTAPs where several different variables go into making the impedance between nodes. In this case, after using a random number generator to place nodes on the grid, the program uses the Pythagorean Theorem to calculate distance of the arcs to each node. The program user can select the total number of Figure 2.1. Stacked Node Example. 7 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 8 nodes and the amount of target nodes within the network. In addition, a connectivity range is set where each node must have at least x and no more than y arcs exiting each node. Finally, the program can be told the number of iterations with the identified settings it should run. The next major step once the network is created is setting up the objective function and constraints for the stacked nodes method. Before identifying the decision variables, the network must be setup with the stacked nodes. For every single node, create coincident stacked nodes ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M equal to the number of exit arcs minus one. Think of this as adding vertical (Z) levels to the network with the nodes stacked on top of each other. The total number of levels is equal to the Figure 2.2. Multiple Target Access Problem. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 9 total number of exit arcs from that specific node. Next, create arcs connecting the initial node, base node, to the corresponding stacked nodes called transition arcs. These will have an impedance of zero as they are simply a decision variable necessary to transition from level to level. Finally, the base node’s exit arcs are replicated at each level for each stacked node while retaining the initial impedance from level one. There is a visual representation of this process with a single additional stacked node in Figure 2.1. ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M The reason behind creating the stacked nodes in the first place was to attempt to tighten Figure 2.3. Multiple Target Access Problem Constraints. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 10 the MTAP constraints. The meaning tighten constraints refers to the constraints used in solving STAPs where the values are absolute. The decision variables are set equal to a single value instead of a range of values. In order to do this there could only be one output from each base node, which was seemingly resolved by creating additional nodes and levels. The idea assumed ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 2.3 Continued these stacked nodes were still in the same physical space as the original node but mathematically created an option to branch while keeping the constraints tight. The MTAP constraints are similar in concept to those solving STAPs, but become complicated as the number of decision variables increases greatly. For the force constraint, the MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 11 number of exit arcs from the base source node on Z level 1 must be equal to one. This still allows a branch to occur from the source but assures that at least one exit arc is used to begin the solution path. Similarly, for each target node, the number of all entering arcs must equal one as each target must be reached. For the intermediate nodes, there are three separate flow constraints to account for the added stacked nodes. First is all entering arcs must equal the number of exiting arcs not counting the transition arcs moving up the stacked nodes. This forces the optimal path to ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M use the stacked nodes when at a branching node as only one exit arc can occur on the first level. Second, each transition arc has to equal the exit arcs of the destination stacked node’s Z level. This assures that the correct level arcs are used with the correct transition arc. Third, those same transition arcs must be less than or equal to the arcs entering the base node to assure the additional Z level arcs are only used when the base node has been entered. The last step is identifying all decision variables as binary integers and then the model can be solved using LINGO optimization software. An example problem with corresponding objective function and constraints is shown in Figures 2.2 & 2.3. There are two different formats of decision variables shown. The first is for all arcs between non-coincident nodes. The arc traverses from ( ) one node to ( ) another at a specific Z level ( ). The other format is for all transition arcs between coincident nodes. The arc is centered on one node ( ) and transitions from one Z level ( ) to another Z level ( ). The solution to this problem is included in Figure 2.4. The resulting decision variables are shown in Figure 2.5 while those not listed were not in the optimal path and thus have a value of 0. When perfected, this model would be run many times to test performance with different inputs. In addition, other solution methods will be prepared to compare the resulting impedance MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 12 ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 2.4. Multiple Target Access Problem Solution. and computation time. Eventually, the concept would be applied to a real world application to determine the efficiency in the field. At this time there is a significant conceptual flaw preventing the completion of these tasks. Figure 2.5. Multiple Target Access Problem Results. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ CHAPTER 3 ANALYSIS At this moment of time, significant results worth analyzing could not be obtained. During ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M execution of these models, large network problems would often encounter an issue. In cases where the source was far away from a target, a closed circuit would create pseudo source nodes near the target. The current constraints assure that a path exits the source and enters all targets. This guarantees a path from the source reaching at least a single target. However, in cases where two intermediate nodes have exit arcs to one another, that closed loop does not break a constraint. This allows either node to then use a stacked node to reach a target without ever being connected to the source node. This concept is pictured in Figure 3.1. Nodes A and B each have one exit and one entering arc on Z level 1. Meanwhile, since node A has an incoming arc it allows the stacked node to be used and creates an output on Z level 2 to the nearby target node C. This problem is occurring whenever the path to node C from the source costs more than the path pictured. The mathematical dilemma is that in STAPs the constraints are tight, inputs equal outputs with no exceptions. If this same loop occurred in an STAP, there would be no opportunity to have a second output to the target node. In MTAPs the constraints are loose as there must be an opportunity to branch at a node. This branching results the node output to be greater than the node input. Introducing the stacked nodes appeared to solve the problem as there is an equal input and output of non-coincident arcs on the base level. However, the transition arc is in 13 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 14 essence a second output despite being a coincident arc. In addition, while in human application the solution would be thought of as one arc leading into another step by step, the math does not act that way. All arcs or variables are mathematically acted on at the same time, causing these loops to form. An initial solution to this issue was to eliminate the possibility of this closed loop between two nodes. While possible, it does not entirely avoid the conceptual problem. In cases ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M where it is still more efficient, a circuit would be created with three nodes instead of two, still satisfying the constraints. And if that was eliminated, a circuit would be created with four nodes and so on. Loops like this are addressed in other spatial optimization problems and more research into those issues may help this case. With small networks the stacked nodes method did at times produce acceptable results that were an improvement over the independent path method. This does not change the identified issues with this method; they are just a handful of cases where there was no improvement by creating a pseudo source. It does however suggest that the method still has some validity and with some fixes could still be useful. Figure 3.1. Pseudo Source Nodes. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ CHAPTER 4 FUTURE WORK The mathematical problem that must be addressed is the loose flow constraints creating pseudo ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M source nodes. In an effort to force the constraints to be tight equalities, a completely new solution method has been formed. The optimal path was initially thought of as a single path with many branches to reach all targets. This meant that decision variables were binary as a variable was either on the optimal path or not. Another way to approach this is as multiple optimal paths, one Figure 4.1. Integer Programming Problem. 15 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 16 for every target, similar to an STAP. Now positive integer variables must be introduced as a decision variable may be along multiple optimal paths. This change allows tight constraints as all paths entering a node will equal all paths out of a node, may that be 1 or 100. With this change, a problem arose as each overlapping path would add unwanted impedance costs to the objective function. This can be avoided with another conceptual change ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 4.2. Integer Programming Constraints. from the Stacked Nodes method. Instead of associating a single arc with a single decision variable, a second variable can be formed called the flow variable. These two variables can be linked through a series of constraints allowing the decision variables, which are used in the objective function, to remain binary. The flow variables are the integer variables which allow as MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 17 many paths to flow through the arc as there are targets. Dummy variables are used to assure that if any optimal paths use the arc, the binary decision variable is given a value of 1. An example of this new integer programming method is included in Figure 4.1. The necessary objective function and constraints are listed in Figure 4.2. There are three types of ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 4.2 Continued variables represented; decision, flow, and dummy variables. The decision variables ( ) are binary and what make up the objective function used to calculate impendence. The flow variables ( ) are integer and ensure the multiple optimal paths reach their targets. The source constraint is the major difference from previous MTAP methods as the arcs leaving the source MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 18 node must equal the number of targets, 3 in this case. The decision and flow variables are related to each other through link constraints that use binary dummy variables ( ). By setting each decision variable greater than or equal to the corresponding dummy variables, it assures the impedance is accounted for. All variables are arcs from one node ( ) to another ( ) with a network consisting of one source ( ) and three target ( variable nodes. The dummy nodes use the to mathematically separate themselves from one another. The solution to this problem ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M is included in Figure 4.3. The resulting decision and flow variable values are in Figure 4.4 and those variables not listed were not in the optimal paths and thus have a value of 0. Figure 4.3. Integer Programming Solution. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ 19 If this new method proves valid, the next step in is to compare the performance to other MTAP solution methods. The computation time and total impedance are the most important factors with any solution method. Using IP should produce optimal solutions more efficiently than the methods presented by Dean and Picard that use Dijkstra’s algorithm. If true, this will prove to be a significant step in spatial optimization and the real world applications. ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Figure 4.4. Integer Programming Results. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ REFERENCES Dean, Denis J. "Finding Optimal Routes for Networks of Harvest Site Access Roads Using GISbased Techniques." Canadian Journal of Forest Research 27.1997 (1997): 11-22. Web. Picard, N. "Finding Optimal Routes for Harvesting Tree Access." International Journal of Forest Engineering 17.2006 (2006): 35-48. Web. ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M Clark, Mark M. "A Three-Stage Heuristic for Harvest Scheduling with Access Road Network Development." Forest Science 46.2 (2000): 204-218. Web. Eugenio, Arima Y. "Loggers and Forest Fragmentation: Behavioral Models of Road Building in the Amazon Basin." Annals of the Association of American Geographers 95.3 (2005): 525-541. Web. Liu, Kevin. "Preliminary Planning of Road Systems Using Digital Terrain Models." Journal of Forest Engineering (1993): 27-32. Web. Shirasawa, Hiroaki. “A comparative study of heuristic algorithms for the multiple target access problem.” The Japanese Forest Society (2013). Web. Bastarrica, M. C. “A Binary Integer Programming Model for Optimal Object Distribution.” 20th Int’l. Conf. on Principles of Distributed Systems (1998). Web. Dijkstra, E. W. “A Note on Two Problems in Connextion with Graphs.” Numerische Mathematik 1.1959 (1959): 269-271. Web. 20 MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ VITA Christopher Andrew Shuma was born in Dallas, Texas. In 1997 his family moved to Chicago, Illinois where he went on to graduate from Waubonsie Valley High School in 2007. Christopher ﻣ ﺘ ﻠ ﺐ ﺳ ﺎ ﯾ ﺖ m o c . e t i S b a l t a M was accepted into Valparaiso University and earned a Bachelor of Science in 2011 majoring in Meteorology. After a year of work he moved back to Dallas and entered the Graduate School of The University of Texas at Dallas. MatlabSite.com ﻣﺘﻠﺐ ﺳﺎﯾﺖ