and how can the functions $f_i$ be incorporated in finding the right order, which is the main challenge in designing greedy methods to solve . We design greedy procedures with both deterministic and randomized orders and provide strong guarantees for their solutions.

Deterministic Algorithms
------------------------

In this section, we first describe Algorithms \[alg: discrete meta-Greedy\] and \[alg: Reverse discrete meta-Greedy\] which use specific orderings to solve Problem . Based on these two, we then design Algorithm \[alg: main discrete meta-Greedy\] as our *main deterministic* algorithm. Throughout this section, we use $\Delta_i(e|S)=f_i(S\cup\{e\})-f_i(S)$ to denote the marginal gain of adding an element $e$ to set $S$ for function $f_i$. In brief, Algorithm \[alg: discrete meta-Greedy\] first fills ${S_{\rm{tr}}}$ greedily up to completion and then it constructs each of the $S_i$’s greedily on the top of ${S_{\rm{tr}}}$. Specifically, starting from the empty set initialization for ${S_{\rm{tr}}}$ and $S_i$’s, Algorithm \[alg: discrete meta-Greedy\] constructs in its first phase the set ${S_{\rm{tr}}}$ in $l$ rounds, by adding one element per round, where the next element in each round is chosen according to $ e^* = \operatorname*{arg\,max}_{e \in V} \sum_{i=1}^m f_i({S_{\rm{tr}}}\cup \{e\}) - f_{i}({S_{\rm{tr}}})$. Once ${S_{\rm{tr}}}$ is completed, in the second phase, each of the sets 