Abstract-Around the globe, an increasing number of our actions and activities are being recorded and stored as categorized, timestamped events. This type of data, which comprises electronic health records, shipment tracking data, and process logs, is wellsuited to the tabular structure of standard database relations. The difficulty, however, is that temporal pattern matching queries (one of the most common types of queries over this type of data) are not well-suited to standard relational query processing. This difficulty is exacerbated when the question is not only whether an event record matches a given query, but how best to match the events in the record to the events in the query when multiple options are present. In this paper, we demonstrate that temporal pattern matching queries can be formulated and solved as integer programs. This novel approach has distinct advantages over standard query processing techniques in that it puts no ordering constraints on the underlying event record, and can easily discern between multiple possible solutions using the objective function. Additionally, these integer programs can be constructed incrementally, facilitating an easy translation between the query specification interface and the underlying execution instructions. We show that integer programs can capture a wide range of temporal pattern matching constructs, including intervals, absences, repetition, and flexibility, and provide new insights on both the strengths and drawbacks of implementing this processing strategy in practice.