Imagine you are managing a quantitative trading strategy and need to execute a large stock order, equivalent to approximately 20% of its Average Daily Volume (ADV). How would you design an optimal execution algorithm to minimize total transaction costs—including both explicit and implicit costs—while carefully considering market impact, liquidity, and any time constraints? Please elaborate on your methodology, key considerations, and potential model choices.