I am a "carioca" who studied computer engineering and computer science at UNICAMP, in Brazil. After developing a passion for using computers and mathematics (optimization) to help people and businesses make better decisions, I received a Ph.D. from Carnegie Mellon University and subsequently joined the faculty at the University of Miami. Here is my short bio. A complete list of my publications, talks, teaching experience, and consulting activities can be found in my curriculum vitæ (.pdf, .html). For some fun and interesting applications of optimization to real life, take a look at my blog O.R. by the Beach, or follow me on Twitter.
Curious about What I Do?
It's easier to explain through a few examples:
Major League Baseball Umpire SchedulingWhen you look at the MLB season schedule, do you ever wonder who decides that team A will play team B on a certain date, at a certain time and location? That's a very tough problem and it's tackled by these guys. Now let's say that someone created the game schedule for you. The next step is to create a work schedule for the umpires. There are many union rules and league regulations that must be followed. For example, umpires should not work more than 21 consecutive days without a day off, they should not see the same team too often during the season, they want to see every one of the 30 teams at least once, and so on. We developed a heuristic approach to solve the MLB umpire scheduling problem that was used by the league in 2006, and also from 2008 to 2010. Starting in the 2011 season, new scheduling requirements resulted in modifications to this method. Scientific American created a 60-second podcast about our work. You can also listen to my explanation of the problem, which aired on WAMC's Academic Minute (Northeastern Public Radio): here's a link to their site, and here's the MP3 file. To learn more, read our paper.
Product Line SimplificationHave you ever felt overwhelmed by the amount of choices you have at the supermarket, or at a car dealership, or at the pharmacy? Why so many variants of toothpaste? Product variety is a double-edged sword: on one hand, customers tend to appreciate variety because it makes them feel like they can always find exactly what they need; on the other hand, variety is costly to companies because it translates into higher manufacturing costs (more complex factories), higher training costs, more chances for mistakes, higher marketing costs, and so on. There's been a recent trend toward reducing the size of product lines, but it has to be done carefully. We worked with John Deere and Caterpillar to help them strategically optimize their tractor lines, yielding gains in the order of tens of millions of dollars. The Spring 2008 issue of the BusinessMiami Magazine has an article on this topic entitled "The Costs of Customization". To learn more, read our John Deere paper and our Caterpillar paper.
Concert Tour Route OptimizationHow does a band of musicians choose the order in which to visit the different cities in their upcoming tour? There are many factors that come into play. In addition to the available dates at the venues that host concerts in each city, the producer in charge of putting the tour together needs to consider other issues, such as: giving the band a day off between several shows in a row; which days of the week/weekend are better in terms of attendance; the time it takes the equipment to travel from place to place; overall miles traveled, days on the road, etc. When you put all of these factors together, this becomes a challenging problem to solve by hand. This is an example of a multi-objective optimization problem because the quality of a solution depends on how well it satisfies all of the above requirements. One of my undergraduate students worked on this problem for his honors summer research project.
What Do a Computer, a Container Port and a Pizza Oven Have in Common?In abstract terms, all of these three things can be regarded as a resource that is able to perform multiple tasks in parallel: a computer can run multiple programs at a time (multitasking), a container port can load/unload multiple cargo ships at a given berth simultaneously, and a pizza oven can bake many pizzas together. As the number of tasks increases (more users logged into the computer, a busy day at the port or at the pizzaria), and as the planning horizon increases, the order in which you choose to perform the tasks starts to matter a lot. Moreover, finding the order that will allow you to finish everything as early as possible becomes very difficult. My colleagues and I are currently working on this problem.
Information Display on MapsLet's say you want to display the 250 largest cities on a map of the United States. Each city is represented by an opaque disk that's centered at that city's location and whose radius is proportional to the city's population. Such maps are known as proportional symbol maps and they're used by cartographers to analyze location-specific data, such as temperature at weather stations, oil well production, earthquake magnitudes, and population statistics. The question is: given the disks overlap with each other and there are many possible choices regarding which disk to draw on top of which other disk, what's the best way to draw the 250 disks on the map above? Or on any map in general? We created an optimization model to solve this problem and find the absolute best drawing, which is depicted above. The map below shows locations and magnitudes of earthquakes in Japan. To learn more, read our paper.
Scheduling Bus DriversThe demand for public transportation influences the location of bus stops, the routes, and the frequency of bus trips each day of the week. Once specific trips have been selected, each of them having a departure location, a departure time, and a destination, it's time to assign bus drivers to them. The workday of a bus driver is structured to satisfy some restrictions. For example, there must be rest breaks, lunch breaks, and a minimum number of hours between the last trip of one day and the first trip of the next day, among other things. We worked on a bus driver scheduling problem for a city in Brazil and managed to generate an assignment of drivers to trips that respected all regulations and drastically reduced the amount of driver overtime. To learn more, read our paper.
Hybrid MethodsSometimes, standard techniques for solving complex decision problems are not able to satisfactorily handle the situation at hand when used in isolation. Hence, part of my research focuses on developing the theory and facilitating the implementation of hybrid optimization algorithms that integrate multiple solution techniques (a decision-making chimera, if you will). The Spring 2006 issue of the Tepper Magazine has an article on this topic entitled "Two disciplines join to optimize solutions to enterprise-wide problems". To have an idea of what integrated optimization can do for you, take a look at some success stories. To learn more, read our paper.
To Summarize...I am interested in solving optimization problems that arise from a variety of practical applications, such as the ones explained above, as well as call center scheduling, political districting, routing, transportation, and operations management in general. In order to address such problems, I use Prescriptive Analytics or, more specifically, tools from the fields of Operations Research (OR) and Constraint Programming (CP). These tools are essentially mathematical models that contain a simplified, but still useful, representation of the actual problem in a way that can be solved by a computer.