  We consider the problem of minimizing upper bounds and maximizing lower
bounds on information rates of stationary and ergodic discrete-time channels
with memory. The channels we consider can have a finite number of states, such
as partial response channels, or they can have an infinite state-space, such as
time-varying fading channels. We optimize recently-proposed information rate
bounds for such channels, which make use of auxiliary finite-state machine
channels (FSMCs). Our main contribution in this paper is to provide iterative
expectation-maximization (EM) type algorithms to optimize the parameters of the
auxiliary FSMC to tighten these bounds. We provide an explicit, iterative
algorithm that improves the upper bound at each iteration. We also provide an
effective method for iteratively optimizing the lower bound. To demonstrate the
effectiveness of our algorithms, we provide several examples of partial
response and fading channels, where the proposed optimization techniques
significantly tighten the initial upper and lower bounds. Finally, we compare
our results with an improved variation of the \emph{simplex} local optimization
algorithm, called \emph{Soblex}. This comparison shows that our proposed
algorithms are superior to the Soblex method, both in terms of robustness in
finding the tightest bounds and in computational efficiency. Interestingly,
from a channel coding/decoding perspective, optimizing the lower bound is
related to increasing the achievable mismatched information rate, i.e., the
information rate of a communication system where the decoder at the receiver is
matched to the auxiliary channel, and not to the original channel.
