5.3.0 (upcoming release)
- Bug fix: material shortages can be left in the constrained plan, when solving safety stock across multiple stages or in the presence of confirmed supply.
- Filters for a report can now be updated easier. Rather than opening the search dialog again you can directly edit the filter description in the title.
- Multiple files can now be imported together in a grid. Opening the import box multiple times is a bit boring. Selecting or dragging multiple files is cooler.
- Bug fix. When using the Empty Database feature on either manufacturing or distribution or delivery or purchase orders then all orders (manufacturing + distribution + delivery + purchase) were deleted.
- Bug fix on backlog calculation of the demand report
- Modeling simplication: In the operation material table you had to always insert both the produced material and consumed materials.In a lot of models an operation always produces 1 unit of the item. In this type of model you can now choose to leave out the records for the produced material. We'll automatically add them with makes your modeling and data interfaces easier, faster and less error-prone.If an operation produces a quantity different from 1 the producing operation material record remains necessary.
Performance improvements in the solver algorithm.
Operations loading multiple bucketized resource now use the effiency of that resources. In earlier releases we used the minimum efficiency of all resources that operation loads, which is the correct behavior for resources of type default but not for bucketized resources.
Bug fix to avoid creating excess inventory in models with large operation minimum sizes.
- Various small styling improvements and usability enhancements.
- Bug fixes in the mapping of open and closed sales orders.
- Performance improvements for the bucketized resource solver.
- Bug fix and improvements in the way that completed and closed manufacturing order status is propagated to upstream materials.
- A new filter type is introduced for date fields. You can now easily filter records with a date within a specified time window from today.In earlier versions you had to explicitly change the date argument for the filter every day. Which was quite boring, error-prone and not very user friendly.
The number format in grid no longer has a fixed number of decimals, but flexibly adapts to the size and number of decimals in the number to be shown.
- The login form now offers the option to remember me the login credentials. This avoids that a user has to login every time a browser session on frePPLe is started.The user session information is persisted in a cookie in your browser. The session cookie will expire after a period of inactivity (configurable with the setting SESSION_COOKIE_AGE), after which the user has to log in again.Security sensitive deployments should set this setting equal to 0, which forces users to log in for every browser session.
When logging in, the user names and email address are now evaluated case-insensitively.
- A new status "completed" is added on purchase orders, distribution orders and manufacturing orders. It models a status where the order has already completed, but the ERP hasn't reflected this yet in its inventory status.When changing the status of a manufacturing order to completed, there is also logic to assure that sufficient upstream material is available. If required the status of feeding purchase orders, distribution orders and manufacturing orders is changed to completed.
- This allows to import detailed information on allocated resources and consumed materials from the ERP system, and model the current work-in-progress in full detail.In earlier releases these tables only contained output generated by the planning algorithm. From this release onwards they also contain input information for manufacturing orders in the status approved and confirmed.
- The default of the parameter plan.autoFenceOperations is changed from 0 to 999.By default, the planning algorithm now waits for any existing confirmed supply before proposing a new replenishment.The new default avoids unnecessary duplicate replenishments and results in more intuitive plans.
- The search mode to choose among different alternate replenishments can now be controlled by the user.In previous releases this could only be controlled on operations of type 'alternate', and automatically generated alternates always used priority as the selection mode.From this release onwards the field 'operation.search mode' can be used to specify the selection mode from among 'priority', 'minimum cost', 'minimum penalty' and 'minimum cost + penalty'.
The item table gets some read-only fields which capture some key metrics: - number of late demands - quantity of late demands - value of late demands - number of unplanned demands - quantity of unplanned demands - value of unplanned demands
The resource table gets a read-only field to store the number of overloads on the resource.
The weight field for problems of type 'late' is now indicating the quantity being planned late. In earlier releases it represented the delivery delay.
Performance optimizations for various corner cases.
- Workcenters assigned manufacturing orders are now also imported.
- Bug fix: Manufacturing orders in the state "ready to produce" were not being sent to frePPLe as work-in-progress.
The default allowed delivery delay of sales orders and forecasts is changed from indefinite to 5 years. This improves the performance of the algorithms in case there are unplannable orders.
A new resource type time buckets is introduced that represents capacity as the number of hours of availability per time bucket.
The capacity consumption from a bucketized resource now also has a constant component and considers the resource efficiency.
Addition of the field size maximum to the item supplier and item distribution tables.
- More detailed modeling of work in progress.The parameters WIP.consume_material and WIP.consume_capacity control whether a confirmed manufacturing order consumes material and capacity.
- More detailed modeling of in transit material.By leaving the origin location empty, no inventory will be consumed at the origin location. We assume the material has already left the origin location and is in transit.By leaving the destination location, the distribution order doesn't produce any stock. This represents a material transfer outside of our supply chain.
Ability to use powerful regular expressions in the definition of setup matrices rules .
Bug fix: calculation of operation time for 0-duration operations was wrong in some situations.
Bug fix: incorrect operation duration when different resources in an aggregate pool resource have different working hours.
Bug fix: corrected corner cases where the solver got into an infinite loop.
- Ability to cancel any running task on the execution screen. Until now only the plan generation could be canceled while it was running.
- Improved performance and reduced memory footprint when downloading and exporting big reports.
- Added field duration to the execution screen
- Added tabs to see the manufacturing orders for a specific item, location or operation.
- Update of the "in progress" fields of the inventory report. Are considered in progress for a given bucket all orders starting before the end date of that bucket and ending after the end date of that bucket.
- Improved display of very small durations. All digits up to 1 microsecond are now visible.
- The database backup command and database restore command now use the faster and smaller compressed binary backup format of PostgreSQL.
- Performance optimization for models with post-operation times by avoiding ineffecient search loops.
- The naming convention for distribution operations is changed from 'Ship ITEM from ITEM @ SOURCE to ITEM @ DESTINATION' to the simpler and shorter 'Ship ITEM from SOURCE to DESTINATION'.
- Bug fix for a specific corner case where material requirements for work in progress aren't propagated at all.
- New parameter plan.resourceiterationmax allows user control over the number of searches for a free capacity slot on a resource. Contributed by Mateusz Knapik.
Added field net duration to the resource detail report
Added fields total in progress, work in progress MO, on order PO, in transit DO to the inventory report
Bug fix: Deleting an object from the edit form in a scenario was incorrectly deleting the object in the production instead.
- The import data files from folder and import a spreadsheet functionalities now ignores spaces, dashes and underscores in the recognition of the content type from the file or worksheet name.So far, only a worksheet called 'sales order' was recognized as containing sales order data. Now "sales-order", "sales_order" and "salesorder" will also be recognized.
Third party components
- The Ubuntu binaries will be compiled on Ubuntu 18 LTS from now onwards.Compiling for Ubuntu 16 LTS remains fully supported, but we recommend to upgrade Ubuntu.
Bug fix in the calculation of the lateness/earliness of a manufacturing order, purchase order or distribution order. The calculation was incorrectly based on the start date rather the end date of the operation in question.
A new field "feasible" is now added to the inventory detail report, resource detail report, operation detail report, purchase order screen, distribution order screen and manufacturing order screen. The read-only boolean field indicates whether the order is violating any material, lead time or capacity constraints. This is useful in interpreting the results of an unconstrained plan.
- The criterion for before current problems is updated for confirmed orders. The change should result in less problems that are also more meaningful to the users.For orders in the status approved or proposed a before-current problem is created when the start date is in the past.For orders in the status confirmed the criterion the problem is now created when the end date is in the past, i.e. the order is overdue and should have been finished by now.
The natural key in the suboperation table is changed from operation + suboperation + operation to operation + suboperation + effective start date.
- Ability to make the data anonymous and obfuscated when exporting an Excel workbook. The names of all entities are obfuscated in the resulting spreadsheet. You will still need to carefully review the output to clean out any remaining sensitive data.
- Ability to customize the names for the time buckets used in the reports. The time bucket generation command now has extra attributes for setting the name of the daily, weekly, monthly, quarterly and yearly buckets.
Third party components
- Support for Ubuntu 18 LTS.Ubuntu 16 LTS remains fully supported.
- Windows installer now uses Python 3.6.Python 3.5 remains fully supported.
The Windows installer of this version isn't working correctly due to some packaging mistakes.
Resources can now have an efficiency percentage. This allows the resource to perform an operation faster or slower than the standard operation time.
The resource report now displays the available capacity as a line, replacing the green bar in previous releases to show the free capacity.
- Performance optimization of the solver algorithm. The solver now passes down the minimum shipment information from the demand to all upstream entities, which allows the algorithm to perform a more efficient search.In complex models, the resulting plan may be slightly different - for the better.
Resource build-ahead penalty calculation now also working for 0-cost resources.
New rows to the inventory report to show 1) days of cover of the starting inventory, 2) the safety stock and 3) more details on the supply and consumption type.
- The minimum field on the buffer defines a safety stock. In previous releases this safety stock was effective from the horizon start in 1971. Now this safety stock is effective from the current date of the plan onwards.This change will give a different result for safety stock replenishments in an unconstrained plan. In a lead time constrained plan the results will be identical.
Remove buffers of type procurement from the planning engine code. This buffer type was already long deprecated and hasn't been accessible to users for quite some time now.
Simpler and more generic modeling of fixed material consumption and production by operations. The types 'fixed_end' and 'fixed_start' on operation material records are replaced with a field 'fixed_quantity'.
Renamed the "demand plan detail" report to delivery orders, and enable uploading confirmed or approved shipments to customers as input data.
- When expanding a confirmed manufacturing order on a routing operation, the automatic creation of the child manufacturing orders for each routing step now also considers the post-operation time.Note that such child manufacturing orders are only generated if they aren't provided in the input data yet.
- Bug fix when copying a what-if scenario into another what-if scenario.
- Bug fix when uploading data files using the Microsoft Edge browser.
- Operations of types alternate, routing and split should not load any resources, or consume or produce materials. The suboperations should model all material and capacity usage instead.Note that in the majority of models, the explicit modeling of alternate operations is no longer needed. The planning engine detects situations where an item-location can be replenished in multiple ways and automatically generates an alternate operation.
- Added new reports purchase order summary and distribution order summary to summarize the purchase orders or distribution orders per time bucket.
- For consistency with the previous change, the operation report is renamed to manufacturing order summary.
- Extended the exporttofolder command to export additional plan results into CSV or Excel files.
- The data type of all numeric fields is changed from 15 digits with 6 decimals to 20 digits with 8 decimals. This allows a larger range of numbers to be accurately represented in the database.
- The remote web commands API now supports user authentication with JSON Web Tokens to launch tasks, download data and upload data.
- Solver performance optimization where there are availability calendars. The plan generation time can be reduced with a factor 3 to 4 in some models.
- Solver enhancements for planning with setup matrices.
- Solver optimization to handle infinite buffers more efficiently.
- Bug fix: Compilation error with Python 3.6
- Bug fix for spreadsheet import: more robust handling of empty rows and rows with empty fields at the end
- Correction to maintain a single root hierarchy.
- New operationmaterial policy 'transfer_batch' which allows material production or consumption in a number of batches of fixed size at various moments during the total duration of the operationplan.A new field operationmaterial.transferbatch is introduced.
A new field 'end items' is added to the manufacturing order, purchase order and distribution orders screens. It is similar to the 'demands' which shows the demands
- Bug fix: backward compatibility after command renaming in 4.3.1
Third party components
- Upgrade to PostgreSQL 10. PostgreSQL 9.5 and 9.6 remain fully supported.
- The autofence now also considers approved supply, and not only confirmed supply.
- Excel files with some non-standard internal structure are now also recognized.
- Work-in-progress operationplans with quantity 0 are no longer rejected.
- Command frepple_run is renamed to runplan.
- Command frepple_runserver is renamed to runwebserver.
- Command frepple_copy is renamed to scenario_copy.
- Command frepple_importfromfolder is renamed to importfromfolder.
- Command frepple_exporttofolder is renamed to exportfromfolder.
- Command frepple_flush is renamed to empty.
- Command frepple_backup is renamed to backup.
- Command frepple_restore is renamed to restore.
- Command frepple_simulation is renamed to simulation.
- Command frepple_createbuckets is renamed to createbuckets.
- Command frepple_createmodel is renamed to createmodel.
- Command frepple_loadxml is renamed to loadxml.
- Command frepple_runworker is renamed to runworker.