Given $n$ items, I want to select a set items $S\subseteq\{1,2,\dots,n\}$ that maximize profit. The profit of item $i\in\{1,2,\dots,n\}$ is given by $p_i$ and may be assumed to be non-negative.
Additionally, I have a set $\mathscr{F}$ of forbidden subsets. That is, if $F \in \mathscr{F}$, then $S$ is not allowed to contain $F$ as a subset.
For example: if $n=3$, profits are given by $p_1=p_2=p_3=1$, and the forbidden subsets are given by $\mathscr{F} = \{\{1,2\},\{2,3\}\}$, then the optimum is given by $S=\{1,3\}$ with profit $2$.
My question is how to best approach this problem.
Currently, I am using a knapsack problem type formulation that I solve with CPLEX. This works relatively well, but I am interested if better approaches exist, especially because I do not have any side constraints.
$$\max \sum_{i=1}^n p_i x_i,$$ $$\sum_{i \in F} x_i \le \lvert F \rvert - 1, \forall F \in \mathscr{F},$$ $$x \in \{0,1\}^n.$$