A dynamic scheduling system for oil refineries was developed based on event logic.Dynamic events were defined and corresponding event logics were generated by analyzing practical production event characteristics and event treatment experiences of scheduling experts.Based on event logic and generalized disjunctive programming,a dynamic scheduling model was constructed.The event logic based modeling method can raise the rapidity and flexibility to formulate dynamic scheduling models,and can give a better solution to meet realtime requirements and optimization performance.The developed dynamic scheduling system was used to address the scheduling problem of an oil refinery with an event of crude oil shortage.Numerical results show that the event logicbased dynamic scheduling system is feasible and effective.