  We study Byzantine fault-tolerant distributed optimization of a sum of convex
(cost) functions with real-valued scalar input/ouput. In particular, the goal
is to optimize a global cost function $\frac{1}{|\mathcal{N}|}\sum_{i\in
\mathcal{N}} h_i(x)$, where $\mathcal{N}$ is the set of non-faulty agents, and
$h_i(x)$ is agent $i$'s local cost function, which is initially known only to
agent $i$. In general, when some of the agents may be Byzantine faulty, the
above goal is unachievable, because the identity of the faulty agents is not
necessarily known to the non-faulty agents, and the faulty agents may behave
arbitrarily. Since the above global cost function cannot be optimized exactly
in presence of Byzantine agents, we define a weaker version of the problem.
  The goal for the weaker problem is to generate an output that is an optimum
of a function formed as a convex combination of local cost functions of the
non-faulty agents. More precisely, for some choice of weights $\alpha_i$ for
$i\in \mathcal{N}$ such that $\alpha_i\geq 0$ and $\sum_{i\in
\mathcal{N}}\alpha_i=1$, the output must be an optimum of the cost function
$\sum_{i\in \mathcal{N}} \alpha_ih_i(x)$. Ideally, we would like
$\alpha_i=\frac{1}{|\mathcal{N}|}$ for all $i\in \mathcal{N}$ -- however, this
cannot be guaranteed due to the presence of faulty agents. In fact, we show
that the maximum achievable number of nonzero weights ($\alpha_i$'s) is
$|\mathcal{N}|-f$, where $f$ is the upper bound on the number of Byzantine
agents. In addition, we present algorithms that ensure that at least
$|\mathcal{N}|-f$ agents have weights that are bounded away from 0. We also
propose a low-complexity suboptimal algorithm, which ensures that at least
$\lceil \frac{n}{2}\rceil-\phi$ agents have weights that are bounded away from
0, where $n$ is the total number of agents, and $\phi$ ($\phi\le f$) is the
actual number of Byzantine agents.
