In Petri net synthesis we ask whether a given transition system $A$ can be implemented by a Petri net $N$. Depending on the level of accuracy, there are three ways how $N$ can implement $A$: an embedding, the least accurate implementation, preserves only the diversity of states of $A$; a language simulation already preserves exactly the language of $A$; a realization, the most accurate implementation, realizes the behavior of $A$ exactly. However, whatever the sought implementation, a corresponding net does not always exist. In this case, it was suggested to modify the input behavior -- of course as little as possible. Since transition systems consist of states, events and edges, these components appear as a natural choice for modifications. In this paper we show that the task of converting an unimplementable transition system into an implementable one by removing as few states or events or edges as possible is NP-complete -- regardless of what type of implementation we are aiming for; we also show that the corresponding parameterized problems are $W[2]$-hard, where the number of removed components is considered as the parameter; finally, we show there is no $c$-approximation algorithm (with a polynomial running time) for neither of these problems, for every constant $c\geq 1$.