How I Won the INFORMS $10,000 Business Analytics Poster Competition as a First-Time Entrant

Samuel Vanfossan
Object Computing
Published in
12 min readJun 22, 2023

--

Late last year, I approached my boss about attending the 2023 INFORMS Business Analytics Conference in Aurora, CO. I presented all the traditional reasons to allow attendance: great networking opportunities, a chance to showcase what our boutique AI consultancy had been working on, and dedicated time to study and gather inspiration from the presentations of attending industry leaders.

One additional agenda item caught our attention, the conference’s annual $10,000 Business Analytics Poster Competition. This competition promised practitioners and academics a chance to go head-to-head, presenting their optimization solutions to a panel of OR professionals with the winners taking home recognition and cold, hard cash.

Researching previous competition entrants revealed representatives from Fortune 100 organizations, premier research universities, and recognizable technology startups. Not dismayed, my boss gave me the green light to attend and compete, also offering this simple encouragement, “Go there and win it”.

Here’s the straightforward blueprint I used to stand out from the competition:

1. Select a Worthy Problem

Perhaps the most important directive is to ensure that the problem you look to address is meaningful and relatable. While this may be easier said than done, with some reflection and investigation, worthy problems are identifiable. Think about what issues you’ve seen discussed on the news. What are clients commonly asking you to solve? What problems are so pervasive that they’ve made their way to your family dinner table, or your grandma is posting about them on Facebook?

Challenges with this level of saliency are often incredibly complex, composed of many smaller problems. It should not, therefore, be your (immediate) goal to develop a solution to the entire problem. Instead, identify a manageable aspect of the issue that you are confident you can study, understand, and address. Seemingly simple contributions can be incredibly impactful when the issue(s) they remedy are part of a much bigger problem. Further, new solutions of any magnitude can serve as inspiration and a springboard for subsequent investigations that cooperatively chip away at the broader dilemma.

Amplified by the impacts of COVID-19, “supply-chain issues” (as the masses came to call them) seemed to fit the bill as I went about selecting a problem. But, of course, I wasn’t going to try and solve this massive and multi-faceted issue right away. That would require at least two posters, right? Instead, I focused on a single part of the larger problem that I felt was relatable and systemic: underutilizing available container space.

When items are loaded into a container, or bin, inefficient packing often leads to wasted, or empty, space. Even when bins appear to be packed well, inefficiencies can lead to underutilizations that are very impactful at scale. Note the difference in space utilization between the two seemingly well-packed bins for a particular scenario, below.

Practically, wasted container space leads to less throughput with available resources when shipping and storing. Alternatively, entities with throughput obligations may need to enlist more resources to ensure all items are appropriately packed. Each of these scenarios eats away at the packing organization’s bottom line, with costs often passed on to end-consumers. Further, time can be lost when packing inefficiencies are recognized, if organizations attempt to unpack and reposition items in a more effective manner. This can lead to increased labor costs that trickle down to customers and frustrating delays.

The applicability of a solution to this packing problem seemed fairly extensive. Shipping giants like Amazon surely would like to make better use of their truck space and cut down on the number of boxes orders require. Warehousing entities certainly wouldn’t mind squeezing out a little more capacity from their stock shelves. A couple of commercial airlines, in fact, serendipitously reached out to our consulting firm to help them more efficiently pack passenger luggage and avoid diverting bags to different flights. This isn’t to say that techniques don’t exist to mitigate this problem; I’m pretty sure Amazon Operations has some really smart methods guiding their packing process. But perhaps my solution could satisfy some currently lacking utility, offer increased accessibility, or employ a new approach to spark subsequent advances.

With a problem selected, I set off to remedy inefficient container packing. Attempting to offer an intelligent and systematic means to help humans perform a task that is easy to do but is generally not done well.

2. Employ a Cool Foundational Approach

At the heart of any great technological solution is a really cool foundational approach. Really cool doesn’t necessarily mean the trendiest technology of the day; I wasn’t in the business of integrating ChatGPT into my bin packing solution. Cool can take on a variety of forms. Cutting-edge is cool, sure. But simplistic is cool. Novel is cool. A strange inspiration is cool. Understandable is cool. At the end of the day, you’ve built your solution on a cool foundation if users are convinced that the selected approach makes sense for the problem at hand.

As the core of the bin packing solution, I decided to use a genetic algorithm, a heuristic technique well-adapted to solving challenging optimization problems. This approach was selected due to the massive search space of 3-dimensional bin packing problems. The incredible number of possible solutions for even small-sized problems quickly renders classical optimization techniques ineffective, unable to produce optimized solutions in a reasonable amount of time.

Instead, the heuristic procedure is employed to produce really good solutions really quickly, without concern for finding the mathematically optimum solution. This seemed fitting for the problem scenario as an excellent packing solution, quickly, provides more value than a perfect solution that causes delays while being identified.

While the detailed operations of the optimizer are proprietary and more technical than I’d like to get in this article, I’ll give a quick overview of their workings and highlight the creative aspects used to convince the judges this was a cool solution.

First was necessary a means to assess the packing efficiency of a given packing strategy. Here, a set of basic packing rules were established that are followed while ingesting an ordered sequence of items to pack. If an item, following these rules, can be packed into available container space, it is placed. If it cannot be packed, it is ignored and the next item in the sequence is assessed similarly. Once all items are assessed, the achieved packing efficiency is calculated and describes the performance of the packing strategy. All, then, that is needed to define a packing strategy is the order of the items to be packed and the rotational orientation of each item in the sequence. While following the rules set forth by this packing procedure may not always enable achievement of the globally optimal packing efficiency, there does exist some packing strategy that is optimal given the constraints of the rules. It is therefore the objective of the genetic algorithm to identify this rule-constrained optimal solution.

To identify this desired solution, the genetic algorithm maintains and evolves a population of solution alternatives with diverse packing recommendations. This diversity is characterized by differences in the packing order and orientation of the items to pack. The efficacy of each solution can be easily assessed via the rule-based procedure outlined. With a means to evaluate any generated solution, the true magic of the genetic algorithm is put to work. This procedure iteratively selects a subset of the maintained population and uses a process called crossover to create new solutions exhibiting the beneficial packing characteristics of diverse members of the selected subset. A mutation operator is also used to introduce novel packing characteristics. Repeating this procedure for several iterations implements the effects of selection pressure, moving the population gradually toward the optimal solution. The performance progression of the average maintained solution and the best-known solution is shown for a sample packing problem in the figure below. Note the improvement of both metrics as the number of iterations increases.

The intuition for this procedure stems from the work of Charles Darwin and seeks to emulate the biologic processes of natural selection and evolution. For those interested in a deeper understanding of the proceedings of genetic algorithms, I provide the links that follow. The discussion presented does not even scratch the surface of this intriguing method enjoying ongoing research interest.

For those Curious about Genetic Algorithms:

The two described components are paired to form the crux of the optimization model. Working cooperatively, these procedures can be used to automatically generate performant solutions to supplied bin packing scenarios.

3. Find the Right Co-Conspirators

To this point, I’ve consistently feigned independence. Claiming I did this with respect to my project. But to say I was the project’s sole contributor couldn’t be more misleading. A critical factor to enjoying success is finding the right collaborator(s). Once the project direction and foundational approach have been conceived, identifying the nature of necessary collaborators is an important task. Think honestly about your personal skillset and availability and determine what (and how much) help you’re likely to need. As a classically trained operations researcher, I felt confident in my ability to handle the development of the optimization approach discussed. However, I knew I wanted to provide a more sophisticated means for users to interact with the solution, so finding someone to help bring the solution to life was imperative.

The right collaborator can exhibit various characteristics. They might be the best at what they do, they might be very interested and passionate about the project, or they might just have the bandwidth and willingness to help you out at the correct time. In my case, I lucked into a colleague checking all three boxes: an exceptional full-stack developer, Dorian Yeager, who, as he put it, “could help me with anything requiring curly braces”. Dorian was instrumental in developing the supporting technologies and pipelines to make the foundational capability accessible and compelling. Henceforth, my language shall shift to first-person plural (we, us, our) to reflect his invaluable contributions.

4. Bring the Solution to Life with an Application

Perhaps the best advice I’ve received, with respect to any research showcase, pitch competition, etc., is to make the solution real. That is, provide some means for users to interact with the solution, making it more tangible than a handful of figures and results on a poster. This doesn’t mean that a full-fledged app needs to be released to the App Store for every project demo. A simple GUI, even on a locally hosted webpage or within an IDE is sufficient. The application can be hard coded to showcase a certain scenario or demonstrate select functionality. Giving some indication that thought and effort have been dedicated to usability can make your research feel much more like an actual solution.

For the INFORMS competition, we created a lightweight iOS application to be used on presentation day. The app lets users define the dimensionality of available containers and the items to be packed in them, and included a button to kickoff packing optimization once all data was loaded. Where applicable, data was preloaded. This allowed users to get a feel for the app’s functionality at scale without commanding inordinate amounts of time to enter requisite data. While far from production quality, this rudimentary application seemed to pique the interest of competition attendees and gave us an added draw beyond the traditional poster presentation.

5. Hint at the Productized Solution

Another effort that makes a solution feel more real is the dedication of time to rough-in the architecture of the productized solution pipeline. The emphasis here is not to have the polished solution architecture prepared or to have the exact combination of technologies running with optimized performance, but instead to be able to demonstrate and casually utilize some series of utilities resembling a complete offering. Highly solution dependent, this may include considerations such as cloud processing, data storage and engineering, or integration with requisite applications. This endeavor demonstrates that there exists a path to productization and, most importantly, utilization of your offered capability. While a professional implementation may substitute different technologies and will certainly look to optimize your architecture, your credibility as a solution developer and the feasibility of a tangible offering are undoubtedly bolstered by these preliminary efforts.

Our solution employed a fairly simple cloud-based architecture that was easily integrable with our iOS application. As a matter of preference, Google Cloud was selected, but any cloud platform may have been utilized. The genetic algorithm and basic data transformations were wrapped into a Python service and hosted on Google Cloud Run. This service also included a developed visualization module, used to describe and display the ultimate packing sequence recommended by the optimizer to the end user. Data storage was handled using Google Cloud Storage. Therein, the input data from the application (bin dimensions, item dimensions and characteristics) were stored and curated. This utility also housed the output of the visualization module for requested packing optimizations.

The piping of these technologies was thus reasonably straightforward. Basic APIs were developed to appropriately add data to Cloud Storage from the application. Additionally, endpoints were installed to invoke the optimization service and return the recommended packing instructions once compiled by the visualization module.

The end product appeared fairly seamless, though it was rudimentary under the hood. There were many additional capabilities and nice-to-haves concocted during development; most were merely documented as tasks beyond the scope of our competition prototype and saved for future iterations. Using this parsimonious approach, the solution presented hinted at the viability of installation as a real offering and made the work appear much further along than projects exhibiting only a foundational approach.

6. Add a Differentiator

Including or suggesting some pièce(s) de resistance is, of course, intended to provide a little wow-factor. For competition purposes, and to draw users to a real solution offering, I pose this as a worthy effort, given adequate time for inclusion. In an exhibit hall or while scrolling through a timeline, it’s helpful to have an eye-catching differentiator that warrants a closer look from the desired audience. While substance is almost always more important than flash, here, it’s important that your differentiator has some razzle-dazzle.

For us, this manifested the inclusion of LiDAR scanning capabilities within the iOS application. Purposely selecting a LiDAR-equipped iPad to run the demonstration, we were able to utilize Apple’s ARKit framework to gather meaningful dimension data in a spectacular way. This, we reasoned, would be our big draw. Who wouldn’t want to stop and play in augmented reality for a while after being inundated with a barrage of scientific posters for an hour?

I do, though, advise against unsubstantiated spectacle. We were able to frame our attention-getter as a means to easily and quickly measure the dimensions of items to be packed, without breaking out a tape measure or looking up a package’s SKU number. While we believe this LiDAR measuring capability adds true value to our solution, all included differentiators should at least be frameable as a nice, if not necessary, feature.

Differentiators can also be included in a less salient fashion. It’s great to draw a large crowd and have surface level conversations about what the solution offers. When conversing with judges or potential users, though, expect some more-detailed discussions. Being able to disclose, several minutes into a demonstration, an additional unexpected feature can speak volumes to the depth and perceived maturity of your solution. Balancing subsurface differentiators and parsimony is, assuredly, a delicate task, with the factors of required effort and available time needing careful consideration.

The primary depth differentiator we decided to include was the parallelization of the heuristic optimizer used. Including this feature would not impact connections with the surrounding architecture and was something I could handle without assistance. This attribute enabled our solution to handle substantially larger problems through parallel processing and was a frequent discussion point during our exhibition. This feature demonstrably supports solution scalability and presents the offering as capable of handling real-world scenarios.

Concluding Remarks

To garnish a fantastic conference, our team brought home the competition’s top prize. We are happy to have achieved encouraging algorithmic performance and sparked many follow-up conversations we believe will lead to fruitful business engagements. The experience also allowed us to establish and test a blueprint for showcases of the kind, a blueprint we are eager to use again. While this exact outline may not be sufficient for every use case and satisfy every user, I hope, by sharing it, I can provide a great starting point and accelerator to constructing effective project roadmaps of your own.

About the Author

Samuel Vanfossan is an Artificial Intelligence Data Scientist at Object Computing, Inc (OCI) in St. Louis, MO. If you’re interested in learning more about the mechanics and capabilities of our 3D Bin Packing solution, or seeing how OCI can help leverage AI for your business, please reach out to the author at vanfossans@objectcomputing.com or visit objectcomputing.com.

--

--