Wavelength Division Multiplexing (WDM) is a method for increasing the throughput of data along fiber optic networks. This is accomplished by modulating different data streams into different wavelength bands. These are then multiplexed together are transmitted as one optical stream. For large networks, the optical stream will need to pass through nodes which can either convert the optical signal to an electrical signal and back, or pass the signal along without converting from the optical domain. If the signal is converted to the electrical domain, a bottleneck is created which can decrease network performance. If the signal is left in the optical domain, we create the problem of needing to decide in which wavelength band to send the signal, and what route through the network provides the best connection. This is known as the Routing and Wavelength Assignment (RWA) Process. The RWA process can be implemented using a Particle Swarm Algorithm. This is accomplished by having each particle be a set that consists of a weight for each node. From each set of weights, we construct the route by using the following algorithm: Starting at the node of origin, select the adjacent node with the highest weight. Make this your current node and remove it from the collection of available nodes. Repeat until either the desired destination is reached or your current node has no available adjacent nodes. We can then perform our optimization on ƒ α*( Lmax - L ) - (1 - α)*( Wtotal - W ) L W where L is the length of the route, Lmax is the longest route possible, W is the number of wavelengths available on every edge along the route,Wtotal is the total number of wavelengths that the network supports, and α is a parameter between 0 and 1. This allows us to put more emphasis on either making the route as short as possible, leaving as many wavelength bands as possible available, or giving them an equal weight.