下の問題を解きたいのですがうまく行きません。
Rでexpand.gridを使いましたがメモリオーバーしました。

Q, max(performance1+performance2)

ただし num1+num2<=1000

data1.txtとdata2.txtで両者ともタブ区切りのファイルです。
変数は3つ以上ありますが簡単のため省略しました。
とりあえずパフォーマンスが最大になる時(制約を満たして)の組み合わせだけでも取得できたらと思っています。
できたらパフォーマンス最大の時の列の取得、もしくはそれぞれの行の取得もしたいです。

        performance1  num1  hoge1
1                 12    15   3.2
2                 11  12.1   2.4

        performance2 num2   hoge2
1               25.3   14     2.6
2                 21 18.3     4.1

あまりメモリを食わない方法でお願いします。
dplyrなどパッケージは好きなものを使って構わないです。
よろしくお願い致します。