Let the design of an experiment be represented by an s-dimensional vector w of weights with nonnegative components. Let the quality of w for the estimation of the parameters of the statistical model be measured by the criterion of D-optimality, defined as the mth root of the determinant of the information matrix $M(W) = \Sigma _{i = 1}^s{w_i}{A_i}A_i^T,where{A_i},i =1,....,s$ are known matrices with m rows. In this paper, we show that the criterion of D-optimality is second-order cone representable. As a result, the method of second-order cone programming can be used to compute an approximate D-optimal design with any system of linear constraints on the vector of weights. More importantly, the proposed characterization allows us to compute an exact D-optimal design, which is possible thanks to high-quality branch-and-cut solvers specialized to solve mixed integer second-order cone programming problems. Our results extend to the case of the criterion of DK-optimality, which measures the quality of w for the estimation of a linear parameter subsystem defined by a full-rank coefficient matrix K. We prove that some other widely used criteria are also second-order cone representable, for instance, the criteria of A-, AK-, G-and I-optimality. We present several numerical examples demonstrating the efficiency and general applicability of the proposed method. We show that in many cases the mixed integer second-order cone programming approach allows us to find a provably optimal exact design, while the standard heuristics systematically miss the optimum.