Parallel And Sequential Algorithms For The Optimization And Design Of Fault-Tolerant Nanoscale Semiconductor Devices