I am working on a multi-commodity flow problem where for a graph $G=(V, E)$, some flows are permitted to be split and some flows should strictly follow one path. I have formulated this problem as follows.
Problem Formulation
$$ \min \sum_{(i,j) \in E} \sum_{f \in F} c_{ij}^fx^f_{ij}$$
$$ \sum_{j \in V}x^f_{ij} - \sum_{j \in V}x_{ji}^f = \begin{cases} d_f &, & i = s_f \\ -d_f&, & i = t_f\\ 0 &,& \text{otherwise} \end{cases} $$ $$ x_{ij}^f \ge \begin{cases} 0 & , & f \in S\\ d_f & , & f \in NS\\ \end{cases} \quad \forall (i, j) \in E$$ $$ \sum_{i,j \in E} x_{ij}^f \le u_{ij}$$
Where $d_f$ is the demand for flow $f$. $S$ is the set of flows that are permitted to be split, and $NS$ is the set of non-splittable flows. $u_{ij}$ is the capacity of edge $(i, j)$.
I am a novice in linear programming. On paper, using two simple graphs, this formulation seems to work fine.
I would appreciate it if someone could point out if there is any problem with this formulation.