New bounds on D-ary optimal codes