[数学モデリング] 2023 年全国数学モデリング コンペティションの質問 C の完全なアイデアとコード分析

問題Cの第1問のコードと解答結果が完成しました。第1問のデータ量が少し多いです。プログラミング後、単品販売の集計データをまとめました。付録2の単品コードは、を分類コードに置き換えて野菜を選別し、時間の経過とともに各カテゴリーの販売量が変化し、これらのまばらな料理カテゴリーのピアソン相関係数のヒートマップを作成 コードとデータ処理結果のダウンロードは、アドレスは記事の最後にあります。

2 番目の質問と 3 番目の質問のアイデアとコードのその後の更新

2023 年全国競争問題 C における野菜商品の価格設定と補充の自動決定

生鮮スーパーマーケットでは、一般的な野菜商品は賞味期限が比較的短く、販売期間が長くなるにつれて品質が劣化してしまうため、ほとんどの品種がその日のうちに売れないと翌日には再販できません。したがって、スーパーマーケットは通常、各製品の過去の売上と需要に基づいて毎日補充します。

スーパーマーケットでは、産地の異なる多くの種類の野菜が販売されており、野菜の仕入れや取引時間は通常午前3時から4時の間であるため、販売者は具体的な品目や仕入れ価格を正確に把握せずに業務を行う必要があります。野菜カテゴリーごとにその日の補充を決定します。野菜の価格設定は「原価プラス価格」方式が一般的で、スーパーでは輸送中に傷がついたり、品質が劣化したりした商品を値引きするのが一般的だ。信頼性の高い市場需要分析は、補充の決定や価格設定の決定において特に重要です。需要側から見ると、野菜商品の販売量と時期には一定の相関関係が見られることが多く、供給側から見ると、4 月から 10 月にかけては野菜の供給品種が比較的豊富であり、スーパーマーケットの販売スペースの制約もあり、合理的である。営業 組み合わせが非常に重要になります。

別紙1は、あるスーパーマーケットが販売する野菜6カテゴリーの商品情報、別紙2、3は、それぞれ、2020年7月1日から2023年6月30日までの当該スーパーマーケットにおける各商品の販売内容と売上高を示す。付録 4 に、各商品の最近の損失率データを示します。以下の問題を解決するために、添付ファイルと実際の状況に基づいて数学的モデルを確立してください。

質問 1: 野菜のカテゴリや単品の間には一定の相関関係がある可能性がありますが、さまざまな野菜のカテゴリや単品の販売量の分布パターンと相互関係を分析してください。

野菜カテゴリーと単品売上の流通パターンや相互関係を分析するには、まず添付ファイルの詳細な売上データを統計と分析に使用できます。以下にいくつかの手順と方法を示します。

1. 販売数量分布ルール:野菜のカテゴリーごと、商品単体ごとに、日付ごとの販売数量を計算し、販売数量の時系列グラフを作成します。

2. 販売数量の相関関係: ※野菜カテゴリー間や単品商品間の販売数量の相関関係を計算することができます。相関係数を使用して、それらの間の線形関係を測定します。相関係数が 1 または -1 に近い場合、それらの間に強い正または負の相関があることを意味します。

3. 販売数量分布統計:野菜のカテゴリーごと、または単品ごとに、平均販売数量、最大販売数量、最小販売数量、販売数量の標準偏差などの販売数量統計を計算します。

4. 販売量の季節分析: 季節分解や定期分析などの季節分析手法を使用して、販売量の季節パターンを特定します。

5. 販売数量の傾向分析: 移動平均法や指数平滑法などの時系列分析手法を使用して、販売数量の傾向を特定します。

6. 売上に影響を与える要因: 販売促進活動、天候の変化、休日など、売上に影響を与える可能性のある要因を考慮します。ポイント

上記の分析を通じて、さまざまな野菜カテゴリーと単一製品の販売の流通パターンと相互関係について結論を導き出すことができます。

全国大会の質問 C のコードの一部は次のとおりです (完全なコードについては、記事の最後にあるアドレスを参照してください)。

% 初始化一个向量来存储每个分类编码的销量总和
totalSales = zeros(size(uniqueCodes));

% 遍历每个唯一的分类编码并计算销量总和
for i = 1:length(uniqueCodes)
    code = uniqueCodes(i);
    totalSales(i) = sum(data(data(:, 1) == code, 2));
end
% 打印结果
result = [uniqueCodes, totalSales];
% 对 result 最后得到的结果按分类编码进行排序
result = sortrows(result, 1);
% 存储文件
writematrix(result, "(原始)品类销售量数据汇总.xlsx");

 
 
(完整代码见文末地址)
% 读取附件1中的单品编码和分类编码的对应关系
file1 = '附件1调整后数据.xlsx'; % 文件名
data1 = readtable(file1); % 读取数据

% 读取附件2中的数据
file2 = '附件2调整后数据.xlsx'; % 文件名
data2 = readtable(file2); % 读取数据

sortCode1 = data1.sort_code; % 分类编码列名为 "分类编码"

% 提取附件2的数据中的单品编码
singleCode2 = data2.single_code; % 单品编码列名为 "单品编码"

% 使用单品编码1和分类编码1的对应关系来替换单品编码2
for i = 1:length(singleCode2)
    index = find(strcmp(singleCode1, singleCode2{i}));
    if ~isempty(index)
        data2.sort_code(i) = sortCode1(index(1)); % 假设每个单品编码只对应一个分类编码
end

% 将修改后的数据保存到新的文件中(可选)
newFile = 'problem1_2修改后数据.xlsx';
writetable(data2, newFile);

2023年度全国学部数学モデリングコンテストの問題C 問題2:スーパーマーケットがカテゴリーごとに補充計画を立てていることを考慮して、各野菜カテゴリーの総販売量と原価プラス価格設定の関係を分析し、それぞれの来週の予想を答えてください。野菜カテゴリー 1日総補充量(2023年7月1日~7日)の価格戦略により、スーパーマーケットの利益を最大化しました。

各野菜カテゴリの総販売量とコストプラス価格の関係を分析し、スーパーマーケットの利益を最大化するための 1 日の総補充量と翌週の価格戦略を決定するには、次の手順が必要です。

ステップ 1: 総販売量とコストプラス価格の関係を計算する

  • 1. 野菜カテゴリーごとに、付録 2 から過去の販売データ (2020 年 7 月 1 日から 2023 年 6 月 30 日まで) を取得します。

  • 2. 各カテゴリの総売上高を計算します。これを月または四半期ごとに要約して、売上の傾向を観察できます。

  • 3. 購入コストと運用コスト (輸送コスト、保管コストなど) を含む各カテゴリの合計コストを計算します。

  • 4. コストと総売上高に基づいて、各カテゴリの粗利益 (総売上高から総コストを引いたもの) を計算します。

ステップ 2: 1 日の総補充量と次週の価格戦略を策定する

1. 次の週 (2023 年 7 月 1 日から 7 日まで) については、次の要素を考慮してください。

  • - 季節変動および週内変動を含む、過去の売上傾向。

  • - さまざまな野菜カテゴリーの在庫レベル。

  • - サプライヤーの在庫状況と価格の変動。

  • ・スーパーマーケットの売上目標と利益目標。

2. 各カテゴリの 1 日あたりの合計補充量を作成します。これは、過去の販売データと販売予測に基づいて決定できます。需要を満たすのに十分な在庫があることを確認しますが、過剰な在庫の無駄は避けてください。

3. 通常はコストプラス価格設定方法を使用して、各カテゴリの価格設定戦略を策定します。カテゴリの粗利益、市場の需要、競争、顧客の価格感度を考慮してください。価格戦略は、粗利益を最大化する必要があります。

4. 販売データと在庫レベルを定期的に監視し、市場の変化に適応するために必要に応じて調整を行います。

各カテゴリの具体的な状況は異なる可能性があるため、各カテゴリの特性と履歴データに基づいて補充および価格戦略を策定する必要があります。また、利益の最大化は販売戦略や価格戦略だけでなく、コスト管理、在庫管理、市場競争などの要因にも影響されるため、意思決定には複数の要素を考慮する必要があります。最適な補充および価格設定戦略を見つけるには、最適化アルゴリズムまたは数学的計画法を使用することをお勧めします。

質問 3: 野菜製品の販売スペースは限られているため、スーパーマーケットは、単品商品の補充計画をさらに開発したいと考えています。販売可能な単品商品の総数は 27 ~ 33 個に制限され、各商品の注文数量は制限されます。単一の製品は 2.5 kg の最小表示数量を満たしている必要があります。2023年6月24日から6月30日まで販売可能な品種に基づいて、さまざまな種類の野菜の市場需要に応えながらスーパーマーケットの利益を最大化するために、7月1日の単一製品の補充量と価格戦略が示されています。商品。

販売可能な単一製品の総数を 27 ~ 33 個に制御し、最小陳列数量要件 (2.5 キログラム) を満たし、スーパーマーケットの収益を最大化するための単一製品補充計画を策定するには、次の手順を実行します。

ステップ 1: 利用可能なアイテムを決定する

1. 2023 年 6 月 24 日から 30 日までに販売されるすべてのアイテムをリストします。

ステップ 2: 数学モデルを構築する

1. 販売可能なアイテムごとに次のパラメータを定義します。

- Q_i: 単品$i$の補充数量(kg)

- P_i: 単一製品 $i$ の価格設定戦略 (パーセンテージで表される原価値上げ。たとえば、原価が 10 元で価格設定戦略が 20% の場合、販売価格は 12 元)

- C_i: 単一製品の購入コスト $i$ (元/kg)

- D_i: 単品販売需要 $i$ (kg)

- S_i: 単品$i$の最小表示数量(2.5kg)

2. 目的関数を定義します。スーパーマーケットの総収益は、すべての単一製品の粗利益の合計として表現できます。

3. 制約:

- 販売可能なアイテムの総数に対する制限:

- 単一製品の補充数量に対する非負の制約:

- 単一製品の需要は次の制約を満たします。

- 最小表示数量は次の制約を満たします。

ステップ 3: 数学モデルを解く

線形計画法またはその他の最適化アルゴリズムを使用して上記の数学モデルを解き、スーパーマーケットの総収益を最大化するための最適な単一製品の補充数量と価格設定戦略を見つけます。これにより、7 月 1 日の単品補充計画が提供されます。

質問 4: 野菜商品の補充と価格決定をより適切に行うために、スーパーマーケットは他にどのような関連データを収集する必要がありますか? これらのデータは上記の問題の解決にどのように役立ちますか? あなたの意見と理由を教えてください。アイデアとコードのダウンロードについては、記事の最後にあるアドレスを参照してください。

別紙1 野菜6品目の商品情報 別紙2 販売フロー詳細 別紙3 野菜卸売価格 別紙4 野菜最近のロス率 注(1)別紙1において、一部の品名に含まれる数字の意味は供給元が異なります。

(2) 付録 4 の損失率は、最近の商品の損失を反映しており、最近の在庫サイクルのデータから計算されています。

2023 年数学モデリング全国コンテスト 質問 C コードとアイデアのダウンロード アドレス:質問 C コードとアイデア分析

おすすめ

転載: blog.csdn.net/qq_45857113/article/details/132760528