Spaces:
Runtime error
Runtime error
| import pandas as pd | |
| main_block = { | |
| 'css': ''' | |
| footer {visibility: hidden} | |
| /* Modify the forecast button size */ | |
| .btn {width: 260px !important; margin: auto !important} | |
| ''' | |
| } | |
| inventory_md = { | |
| 'value': """ | |
| # Finishend Goods Optimization | |
| - Data must contains column 'SKU', 'demand', 'price', 'cost', 'space_per_unit', 'budgetary_cost' | |
| - Optional column : 'replenishment_rate' | |
| - Fill in "Finishend Goods Storage Capacity" and "Finished Goods Budget" before Optimize Inventory | |
| """ | |
| } | |
| rm_md = { | |
| 'value': """ | |
| # Raw Material Optimization | |
| Optimize raw material purchasing based on the allocated storage space and purchase budget. | |
| """ | |
| } | |
| wip_md = { | |
| 'value': """ | |
| # WIP Optimization | |
| Optimize working in progress items based on the production space and production budget. | |
| """ | |
| } | |
| demo_data_btn = { | |
| 'value': 'Load Demo Dataset', | |
| 'elem_classes': 'btn' | |
| } | |
| rm_demo_data_btn = { | |
| 'value': 'Load Demo Dataset', | |
| 'elem_classes': 'btn' | |
| } | |
| wip_demo_data_btn = { | |
| 'value': 'Load Demo Dataset', | |
| 'elem_classes': 'btn' | |
| } | |
| inventory_btn = { | |
| 'value': 'Optimize Inventory', | |
| 'elem_classes': 'btn', | |
| 'variant': 'primary', | |
| } | |
| rm_btn = { | |
| 'value': 'Optimize Raw Material Inventory', | |
| 'elem_classes': 'btn', | |
| 'variant': 'primary', | |
| } | |
| wip_btn = { | |
| 'value': 'Optimize WIP Inventory', | |
| 'elem_classes': 'btn', | |
| 'variant': 'primary', | |
| } | |
| # | |
| # File Inputs | |
| inventory_file = { | |
| 'file_types': ['.csv'], | |
| 'label': 'Finishend Goods Demand Data' | |
| } | |
| rm_file = { | |
| 'file_types': ['.csv'], | |
| 'label': 'Raw Material Demand Data' | |
| } | |
| wip_file = { | |
| 'file_types': ['.csv'], | |
| 'label': 'Working In Progress Data' | |
| } | |
| # ======= # | |
| # Numbers # | |
| # ======= # | |
| inventory_storage_capacity = { | |
| 'label': 'FG Storage Capacity', | |
| 'interactive': True} | |
| inventory_budget_constraint = { | |
| 'label': 'FG Budget', | |
| 'interactive': True} | |
| rm_storage_capacity = { | |
| 'label': 'Raw Material Storage Capacity', | |
| 'interactive': True} | |
| rm_budget_constraint = { | |
| 'label': 'Raw Material Budget', | |
| 'interactive': True} | |
| wip_storage_capacity = { | |
| 'label': 'WIP Capacity', | |
| 'interactive': True} | |
| wip_budget_constraint = { | |
| 'label': 'WIP Budget', | |
| 'interactive': True} | |
| # =========== # | |
| # Data Frames # | |
| # =========== # | |
| inventory_input_df = { | |
| 'value': pd.DataFrame(columns=['SKU', 'demand', 'price', 'cost', 'space_per_unit', 'budgetary_cost']), | |
| 'label': 'Inventory Optimization Input', | |
| 'height': 300, | |
| } | |
| rm_input_df = { | |
| 'value': pd.DataFrame(columns=['SKU', 'demand', 'price', 'cost']), | |
| 'label': 'Inventory Optimization Input', | |
| 'height': 300, | |
| } | |
| wip_input_df = { | |
| 'value': pd.DataFrame(columns=['SKU', 'demand', 'space_per_unit']), | |
| 'label': 'Inventory Optimization Input', | |
| 'height': 300, | |
| } | |