Hi gokulka,
Firstly, clock skew and clock latency (related to clock tree depth) are the most important problems to solve in clock tree synthesis.
Secondly, design rule violations such as maximum transition on clock pins, maximum capacitance, maximum fanout, and clock bumps (signal integrity issues) are important factors.
For a typical design, one wants a design having the smallest skew (assuming no useful skew is used), with the smallest insertion delay without any design rule violations and bumps originating from aggressor nets.
There are known solutions for most of these problems, and there are Clock Tree Synthesis engines from EDA vendors targeting to solve these issues.
BR,
Gokhan
---