\documentclass{article}

\usepackage{amssymb}
\usepackage{mpformulation}
\usepackage[fleqn,tbtags]{mathtools}
\usepackage[nameinlink,capitalise,noabbrev]{cleveref}

\newcommand{\CARACD}{\mathcal{M}}
\newcommand{\OUTSET}{\mathcal{O}}

\mpsetup{
  rowsep=0.8\baselineskip,
  numsep=3em,
  indent=3em,
  expr_suffix={\;,},
  last_suffix={},
  bottomsep=10pt,
  st_text={s.t.}
}

\begin{document}

\begin{mpformulation}
  \objective[MODEL1:objective]{MODEL1}{Maximize}{\sum_{\mathclap{b\in \mathcal{B}', d\in\mathcal{D}}} v_{bd}\,(h_{bd}-h_{b,d-1})}
  \constraint[MODEL1:constr1]{h_{b,d-1} \le h_{bd}}{\forall b \in \mathcal{B}',\, d \in \mathcal{D}}
  \constraint[MODEL1:constr2]{h_{b|\mathcal{D}|} \leq h_{b'|\mathcal{D}|}}{\forall (b, b') \in \mathcal{P}'}
  \constraint[MODEL1:constr3]{\sum_{d\in\mathcal{D}} z_{qd} \leq 1}{\forall q \in Q_R}
  \constraint[MODEL1:constr4]{h_{b|\mathcal{D}|} \geq w_q}{\forall b \in \mathcal{B}',\, q \in Q^b_E}
  \constraint[MODEL1:constr5]{h_{bd}-h_{b,d-1} \geq z_{qd}}{\forall b \in \mathcal{B}',\, q \in Q^b_R,\, d \in \mathcal{D}}
  \constraint[MODEL1:constr6]{\sum_{q\in Q^b_E} w_q \geq h_{b|\mathcal{D}|}}{\forall b \in \mathcal{B}'}
  \constraint[MODEL1:constr7]{\sum_{q\in Q^b_R} z_{qd} \geq h_{bd}-h_{b,d-1}}{\forall b \in \mathcal{B}',\, d \in \mathcal{D}}
  \constraint[MODEL1:constr8]{\sum_{s \in S_{pb}} (1-h_{s|\mathcal{D}|}) + \sum_{s \in \overline{S}_{pb}} h_{s|\mathcal{D}|} \geq 1}{\forall p \in \Pi,\, b \in \mathcal{B}'}
  \constraint[MODEL1:constr9]{h_{b|\mathcal{D}|} = 0}{\forall b \in \OUTSET}
  \constraint[MODEL1:constr10]{h_{b|\mathcal{D}|} = 1}{\forall b \in \mathcal{B}'' \setminus \OUTSET}
  \constraint[MODEL1:constr11]{h_{b,0} = 0}{\forall b \in \mathcal{B}'}
  \constraint[MODEL1:constr12]{h_{bd} = 1}{\forall d \in \mathcal{D},\, b \in \CARACD_{d}}
  \constraint[MODEL1:constr13]{h_{b,d-1} = 0}{\forall d \in \mathcal{D} \setminus \{1\},\, b \in \CARACD_{d}}
  \constraint[MODEL1:constr14]{h_{bd} \in \{0, 1\}}{\forall b \in \mathcal{B}',\, d \in \mathcal{D}^*}
  \constraint[MODEL1:constr15]{z_{qd} \in \{0, 1\}}{\forall q \in Q_R,\, d \in \mathcal{D}}
  \constraint[MODEL1:constr16]{w_{q} \in \{0, 1\}}{\forall q \in Q_E}
\end{mpformulation}

The objective~\eqref{MODEL1:objective} is maximized subject to
constraints~\labelcref{MODEL1:constr1}--\labelcref{MODEL1:constr16}.

\end{document}
