difference between AMP Steps and Optimizer's Plan

General

difference between AMP Steps and Optimizer's Plan

Hi all, to 

As per my knowledge, a Parser prepares the AMP Steps, and an AMP gets these steps directly from parser itself.

How is the least expensive plan that is prepared by an Optimizer and passed onto Dispatcher and finally to AMPs is related to the AMP Steps(prepared by Parser) and is the 'least expensive plan' that optimizer prepares is based upon sheer least time or some other constraints like sytem resources, current free resources , user sessions etc..?

Kidnly help me into this. Thanks alot.