مساله ضرب زنجیرهای ماتریسها و پرانتزبندی بهینه آن یکی از مثالهای مشهور کاربرد برنامهنویسی پویا در حل مسائل بهینهسازی است.
فرض کنید قصد داریم حاصلضرب عبارت ماتریسی A3x7 x B7x8 x C8x4 را محاسبه کنیم. میدانیم که ضرب ماتریسها خاصیت شرکتپذیری دارند و ترتیب ضرب آنها مهم است. پرانتزبندیهای مختلف ضرب ماتریسها حالتهای مختلف محاسبه آن را به ما میدهند:
1: A x ( B x C )
2: ( A x B ) x C