I have a set of $n$ activities $a_i \in A$. Each activity $a_i$ has a set of child activities $C_i \subset A$, an associated cost $k_i$, and a start time $t_i$.
In the BILP model I use, I consider a binary decision variable $x_i$ for each activity $a_i$, which takes the value $1$ if activity $a_i$ is selected, and $0$ otherwise (the problem dictates that a specific number of activities should be selected).
One of the constraints of the problem is that any two activities that are not related, should be selected only in case their total associated cost is less than or equal to 50. I formulated the particular constraint as follows: \begin{equation} x_i k_i + x_j k_j \leq 50, \forall a_i, a_j \in A, i \neq j, a_j \notin C_i \end{equation}
My question is, is the constraint correct in the BILP context, and in particular the condition $\forall a_i, a_j \in A, i \neq j, a_j \notin C_i$ (specifically the part $ a_j \notin C_i$)? I.e., is that an appropriate and acceptable condition to use in the context of the particular problem and according to the linear programming conventions?
The constraint you proposed is too strong because it also prohibits selecting a single activity whose cost is greater than $50$. Better to impose a “conflict” constraint $x_i+x_j\le 1$ for all $a_i,a_j\in A$ such that $i< j, a_j\not\in C_i, a_i\not\in C_j, k_i+k_j >50$.
Note $i<j$ because $i\not= j$ would yield duplicate constraints.