In the paper methods for optimization of net algorithms describing concurrent processes are proposed. The depth of concurrency is modeled by the set of parallel statement pairs. The optimization is performed in two steps: first the execution time is minimized under constraints on the implementation cost and second the net algorithm existence problem is resolved for the generated concurrency depth. Some experimental results are presented.