Немного предыстории ...
В настоящее время я создаю макрос, который будет оценивать стоимость инструмента для литья под давлением.Эти инструменты имеют полости, которые заполнены пластиком.Количество полостей, которое имеет инструмент, равно количеству деталей, которые будут сформированы.
До сих пор моя программа определяла минимальное количество полостей, которое может иметь инструмент, исходя из потребностей клиента.Это число всегда четное.Инструмент должен иметь четное количество полостей.Учитывая ограничивающую длину и ширину полости и установление предела того, сколько пространства могут занимать полости внутри инструмента, мне нужна моя программа для расчета комбинации числа полостей по длине и ширине, разница которых сведена к минимуму и чье произведениеравно общему количеству минимальных полостей, которые должен иметь инструмент.
Я программирую, мой макрос - SolidWorks VBA.Сначала я построил эту проблему в Excel и использовал инструмент решателя.Но я не могу найти способ ссылки на Excel Solver Tool в SolidWorks, чтобы автоматизировать эту проблему оптимизации.Я надеюсь найти умный набор уравнений, который может решить эту конкретную проблему для меня.Но если у кого-то есть лучшее представление о том, что использовать, это было бы замечательно.
Перефразирование в формате оптимизации ...
Переменные
- x =количество полостей по ширине инструмента
- y = количество полостей по длине инструмента
- z = рекомендуемое количество полостей
Целевая функция
Свернуть x - y
Так, чтобы
- x * y = z
- x> = 1
- y> = 1
- x <= y </li>
- x является целым числом
- y является целым числом
Пример
Мой макрос говорит, что по порядкучтобы удовлетворить спрос, наш инструмент должен иметь как минимум 48 полостей.Найдите число полостей по длине и ширине инструмента, чтобы разница была минимальной, а произведение было равно 48. В идеале в этом случае макрос мог бы вернуть x = 6 и y = 8.
Спасибо!