集合と関数でベクトルが関数であり、プログラミングではリストであることがわかった。
これを踏まえた上で各肥料を
$fertilizer = array("in" => 0, "on" => 0, "wp" => 0, "cp" => 0, "wk" => 0, "price" => 800);
こんな感じで保証成分をベクトルで持たせて予算に合わせて最適解をもたせれば良いということになる。
だけどちょっと待てよと
凄腕栽培者でNPKやCaやMg(あとCEC)だけで計算する方なんているのかよ?
先ほどのベクトルで窒素でも敢えてnではなく、inやonといった無機と有機を分けたし、
リン酸のpでも水溶性とく溶性で分けた。
どちらも作物に与える以外で土壌に与える影響も考慮しなければならない。
農薬を使用している方の野菜も美味しいよで記載した通り、
残留成分の与える負の影響は他の肥料の要素に影響を与える。
続・もう、牛糞で土作りなんて止めようよで記載した通り、
残留成分は次の作付で残った成分は与えないという対応ではダメな程残留している。
果実内発芽から見える土の状態でアタリをつけている土壌鉱物の劣化もある。
基肥の自動計算に挑戦してみるで記載した通り、NPKの成分量でのみ自動計算を行う事が出来ない。
今ざっと思い浮かぶ要素として挙げられるのが、
・家畜糞 + 石灰によるpHの調整で溜まりすぎたリンとカルシウムの除塩効果の数値化
・土壌鉱物の劣化度
・腐植量
あたりかな。
土壌鉱物の劣化度の指標ができたらあとは簡単なはず。
基肥には主要要素を除いて、追肥で追えば良いだけだから。
余談だけど、
堆肥は良いものだからいくら入れても良いという発想が、
ハウス内の秀品率の低下を引き起こしている。
この発想と腐植と家畜糞の明確な判断を持たない事で、
塩濃度が高い堆肥をバカ程入れてしまうという暴挙を行ってしまう。