VLSI Physical Design Automation: Theory and Practice